ABRA Win - technologick² p°ehled systΘmu

Proto₧e jsem slφbil, ₧e Vßs budu informovat o tom, jak pokraΦuje v²voj novΘho systΘmu, dovolte, abych navßzal na Φlßnek pojednßvajφcφ o naÜich ·vahßch a krocφch vedoucφch kázahßjenφ v²voje novΘho systΘmu.

P°φvlastkem nßzvu tohoto Φlßnku je "technologick² p°ehled systΘmu". Budu se tedy sna₧it seznßmit Vßs sátφm, jakΘ technologie pou₧φvßme a jakΘ vnit°nφ zm∞ny by se m∞ly vátomto systΘmu promφtnout.

Jak jsem se ji₧ váp°edchozφm Φlßnku zmφnil, rozhodli jsme se pro v²vojovΘ prost°edφ Delphi. Toto prost°edφ nßm dovoluje pln∞ vyu₧φvat nov²ch technologiφ COM (Component Object Model) a DCOM (Distributed COM) firmy Microsoft. OΦ hlavn∞ vát∞chto technologiφch jde? Microsoft pomocφ t∞chto technologiφ umo₧≥uje v²vojß°∙m i sob∞ vytvß°et objekty (Φßsti programu), kterΘ jsou binßrn∞ kompatibilnφ, tedy p°φstupnΘ zár∙zn²ch programovacφch a v²vojov²ch prost°edφ. Tyto objekty implementujφ urΦitΘ rozhranφ ("interface"), kterΘ ve svΘ definici obsahuje v²Φet vlastnostφ a metod objekt∙ s jejich parametry. Tyto objekty se mohou vytvß°et p°φmo na poΦφtaΦi, na kterΘm je spuÜt∞n klientsk² program, nebo na jinΘm poΦφtaΦi vásφti (lokßlnφ i globßlnφ). Pokud klientsk² program o takov² objekt za₧ßdß operaΦnφ systΘm, spustφ se jak²si server (p°esn∞ ten, kter² je pot°ebn² kávytvo°enφ objektu danΘho typu, a je za tφmto ·Φelem zaregistrovan²), a tento server vytvo°φ po₧adovan² objekt a vrßtφ ho klientskΘmu programu. Pokud je definovßno, ₧e urΦitΘ objekty jsou vytvß°eny prost°ednictvφm aplikaΦnφho serveru, kter² je spuÜt∞n nebo se spouÜtφ na jinΘm poΦφtaΦi, ne₧ na kterΘm pracuje klientsk² program, funguje to ·pln∞ stejn∞. Nemusφte tedy pro tento p°φpad p°ed∞lßvat klientsk² program tak, aby fungoval sφ¥ov∞. Tato technologie je samoz°ejm∞ pou₧ita váproduktech fy Microsoft jako jsou Excel, Word atd. Umo₧≥uje klient∙m krom∞ ovlßdßnφ programu vizußln∞ (pomocφ myÜi a klßvesnice), ovlßdat program (nap°. objekt Word dokument) skrze definovanΘ rozhranφ (interface) i zájin²ch program∙, a to ani nemusφ b²t p°ed startem tΘto aplikace spuÜt∞n. Tφmto zp∙sobem je mo₧nΘ vyu₧φvat (zaΦle≥ovat) takto napsanΘ aplikace p°i tvorb∞ dalÜφch aplikacφ.

I my jsme se rozhodli, ₧e p°i tvorb∞ naÜeho novΘho systΘmu budeme vyu₧φvat t∞chto modernφch technologiφ, a to jak pro vyu₧φvßnφ existujφcφch COM objekt∙, tak pro nßmi vytvß°enΘ objekty a moduly. Umo₧≥uje nßm to vytvo°it systΘm, kter² se jen zm∞nou konfigurace zprovoznφ pro fungovßnφ na samostatnΘm poΦφtaΦi nebo pro sφ¥ov² provoz. Jen pomocφ konfigurace m∙₧eme ovlivnit, zda se budou po₧adovanΘ objekty vytvß°et p°φmo váb∞₧φcφm procesu nebo vájinΘm procesu na stejnΘm poΦφtaΦi, Φi dokonce na ·pln∞ jinΘm poΦφtaΦi. Tφmto zp∙sobem mßme vytvo°eny objekty pro uklßdßnφ a naΦφtßnφ r∙zn²ch konfiguraΦnφch informacφ, kterΘ nebudou obsa₧eny váSQL databßzi. TakΘ jsou tφmto zp∙sobem °eÜeny objekty umo₧≥ujφcφ zjiÜ¥ovat p°φstupovß prßva u₧ivatel∙ kásystΘmu a kájednotliv²m objekt∙m, dßle objekty zprost°edkovßvajφcφ klientovi data, kterß se nachßzejφ vádatabßzi Client/Server. To nßm mimo jinΘ umo₧≥uje soust°edit do jednoho mφsta (fyzickΘ vrstvy datovΘho prost°ednφka) zp∙sob, jak²m se komunikuje sádatabßzov²m serverem. Váp°φpad∞ pou₧itφ jinΘho databßzovΘho serveru ne₧ je InterBase by nem∞la b²t ·prava naÜeho systΘmu Φasov∞ ani jinak nßroΦnß.

Vyu₧itφm datovΘho prost°ednφka si nßÜ nov² systΘm polepÜil a dostßvß se záklasickΘ dvouvrstvΘ architektury Client/Server mezi takzvanΘ vφcevrstvΘ aplikace. Tato architektura umo₧≥uje odd∞lit obchodnφ logiku od u₧ivatelskΘho rozhranφ do specißlnφ vrstvy. ┌koly tΘto vrstvy se mohou zpracovßvat t°eba i na jinΘm poΦφtaΦi, ne₧ na kterΘm je aplikace ovlßdßna, a tφm centralizovat zpracovßvßnφ obchodnφ logiky.

Shrnuto ve zkratce: nßÜ nov² systΘm vyu₧φvß tyto technologie, Φφm₧ bude otev°en² pro vyu₧φvßnφ aplikacemi, kterΘ nebudeme schopni sami napsat z ΦasovΘho d∙vodu, nebo nßm nenφ problematika, kterou tyto aplikace °eÜφ, natolik znßmß. Tφm, ₧e vábudoucnu zve°ejnφme rozhranφ objekt∙ jako je faktura, objednßvka, firma váadresß°i, skladovß karta, atd., umo₧nφme jin²m partnersk²m firmßm vytvß°et aplikace, kterΘ vyu₧φvajφ existujφcφ moduly tohoto systΘmu. Pokud by nap°φklad n∞kdo vytvo°il modul Leasing, bude urΦit∞ minimßln∞ pot°ebovat vytvß°et platebnφ p°φkazy a faktury odeslanΘ. Dßle bude urΦit∞ pot°ebovat vybφrat firmy záAdresß°e, nebo je i p°φpadn∞ dopl≥ovat. Proto₧e bude rozhranφ t∞chto objekt∙ definovanΘ a p°φstupnΘ, je mo₧nΘ s jejich vyu₧itφm napsat aplikace, kterΘ budou fungovat sánßmi dodßvan²m systΘmem váreßlnΘm Φase. Tyto aplikace nebudou muset p°istupovat kádat∙m naÜeho systΘmu dßvkov²m re₧imem.

Snad jsem Vßs tφmto popisem, ve kterΘm jsem se sna₧il ukßzat, ₧e nßÜ nov² systΘm je koncipovan² tak, aby mohl fungovat a rozvφjet se delÜφ dobu, neodradil a slibuji, ₧e váp°φÜtφm Φlßnku, kter² by na sebe nem∞l nechat tak dlouho Φekat, Vßs seznßmφm sáfunkΦnφmi rozÜφ°enφmi a plßnovan²mi odliÜnostmi tohoto systΘmu od stßvajφcφho systΘmu ABRA Gold.


Za v²vojovΘ odd∞lenφ
Petr Nejedlφk