Model pełen rozszerzeń

Wewnętrzna integracja

Model pełen rozszerzeń

Modelowanie procesu biznesowego w Sybase Power Designer 12

Power Designer 12 zawiera wtyczkę do Eclipse 3.1.0 i 3.1.1 (z powodu zmian w tym IDE nie jest wspierana wersja 3.0), co pozwala m.in. na wygodną synchronizację modelu OOM z kodem Java. Za każdym razem gdy dokonywane są modyfikacje jakiegoś elementu modelu, odpowiedni fragment kodu jest automatycznie uaktualniany. W tym procesie wtyczka zachowuje się tak, by "nie zaszkodzić", np. rezygnuje z aktualizacji, jeśli spowodowałoby to utratę pracy dokonanej poza Power Designer 12.

Niestety, aby synchronizacja w drugą stronę była możliwa, do każdego elementu (funkcji czy klasy) dodawany jest w komentarzu identyfikator GUID (ten sam, który identyfikuje obiekt w Power Designer). Drugą ciekawą możliwością jest nawigacja - z poziomu modelu można łatwo przenieść się do odpowiedniego kodu (w pewnych sytuacjach można też przenieść się w drugą stronę).

Funkcjonalność Power Designer 12 można łatwo rozszerzać, a także dostosowywać niemal każdy aspekt działania tego pakietu. Większość operacji może być wykonywana za pośrednictwem skryptów Visual Basic Script i w wielu miejscach w definicji sposobu działania funkcji domyślnie dostępny jest właśnie gotowy skrypt, który analityk może zmienić.

Power Designer 12 może generować niemal "gotowe" aplikacje na podstawie modelu. Dostępne są wzorce dla Sybase EAServer, BEA WebLogic i IBM Websphere. Ale oprócz tego może powstać kod dla Apache Tomcat czy - ogólny interfejs użytkownika oparty na JSF (JavaServer Faces). Przy generowaniu komponentów może być tworzony kod EJB, ale można też wygenerować warstwę używającą Hibernate czy JDO (Java Data Object). Modeler OOM może także wygenerować strony ASP .Net 1.1.

W przypadku generowania czy parsowania informacji dotyczących fizycznego modelu bazy danych możliwe jest dokładne kontrolowanie tego jak elementy projektu są konwertowane na docelowe obiekty bazy, jak tworzone są nazwy itp. Jeżeli potrzebna baza nie jest zdefiniowana (standardowo pakiet obsługuje ok. 60 różnych motorów), to można samodzielnie określić tzw. plik definicji DBMS precyzujący konkretne ustawienia.

Dostępny w Power Designer 12 Generation Template Model (GTL) to specjalny język wzorców określający sposób generowania kodu na podstawie modelu. Na bazie jednej metaklasy (czyli np. obiektu zdefiniowanego w UML) można generować jeden lub więcej plików. Z poziomu języka programista ma dostęp do dowolnego elementu modelu i jego właściwości, co w zasadzie pozwala na nieograniczone generowanie kodu.

Dostępna jest względnie porządna dokumentacja modelu (metamodel.oom) i odpowiedni plik pomocy. GTL pozwala na współdzielenie wzorców pomiędzy różnymi "motorami generującymi". Tworząc wzorzec można używać rekurencji. W języku GTL dostępne są także normalne mechanizmy obiektowe - np. używając dziedziczenia można w "potomnym" wzorcu wymienić odpowiednią generowaną frazę na coś innego - w zależności od typu metaklasy, dla jakiej generowany jest plik. Jedną z klas operacji, które wykonuje GTL, są makra. W GTL można wywoływać dowolny plik VBScript, co np. pozwala na dostęp do praktycznie dowolnej funkcji systemu operacyjnego.

Warto też wspomnieć, że zapisując model można wybrać, czy ma być zastosowany binarny (szybszy) sposób zapisu czy serializacja do XML. Co ciekawsze, w dokumentacji zawarty jest krótki przykład pozwalający szybko zorientować się, w jaki sposób można analizować taki plik XML i jak należy rozumieć jego składnię. Nie ma co prawda formalnej specyfikacji pliku, ale dzięki sensownie dobranym nazwom znaczników i atrybutów można analizować model w postaci XML, używając dowolnego parsera.

Rozszerzone możliwości

Ciekawą koncepcją są profile (Extended Definition Model). Pozwalają one rozszerzać funkcjonalność pakietu poprzez udostępnianie funkcji działających "obok" głównego metamodelu. W ten sposób bez uciekania się do dużej modyfikacji modelu czy tworzenia własnego języka "modelowania" można pozwolić, by analityk podczas projektowania dodatkowo opisywał stereotypy czy pewne rozszerzone atrybuty charakteryzujące modelowane encje, np. wtedy gdy firma ustaliła sobie pewne charakterystyki wymagane w procesie tworzenia oprogramowania.

Extended Definition Model może też służyć jako narzędzie do opisu tego, jak dany uniwersalny element modelu ma być realizowany w praktyce, np. na konkretnym serwerze. Profilowany może być dowolny element metamodelu - od symboli i stereotypów, aż po transformacje i procedury obsługi zdarzenia. Profil może być także użyty do standaryzacji generowanego interfejsu użytkownika. Oczywiście, wszystkie tego typu rozszerzenia są dostępne z poziomu wzorca GTL.

Jednym z ciekawszych rozszerzeń zaimplementowanych w Power Designer 12 jest możliwość generowania kodu dla SIMUL 8 - pakietu symulującego działania modelu. W Power Designer 12 można samodzielnie definiować własny język opisu modelu, a także wskazywać wykorzystanie konkretnych języków obiektowych, jak Java czy C#, oraz języków opisu procesów biznesowych, m.in. ebXML czy BPEL4WS 1.1. Co ważniejsze gotowe definicje są dostępne w postaci plików źródłowych, co pozwala na ich podstawie stworzyć własne rozwiązania. Technicznie rzecz biorąc, taka definicja to plik XML z osadzonym w środku skryptem VBScript do realizacji potrzebnych operacji logicznych.

Power Designer 12 w pięciu edycjach

Power Designer 12 dostępny jest w 5 edycjach. Data Architect Edition przeznaczona jest dla tych, którzy głównie modelują dane (strukturę bazy, mechanizmy przechowywania informacji itp.). Obsługuje ponad 60 baz danych - nie tylko komercyjne, ale też np. MySQL 5 czy PostgreSQL. Możliwy jest pełny "roundtrip engineering", ale nie w każdym przypadku - nie ma np. obsługi typów .Net w SQL Server 2005.

Developer Edition zawiera elementy związane z modelowaniem obiektowym - obsługę UML, generowanie kodu w Javie, C#, VB .Net i oczywiście dla Power Builder. Dostępny jest także dodatek integrujący projektanta z Eclipse. Pakiet Power Designer Studio 12 zawiera elementy z Data Architect Edition i Developer Edition. Dostępna jest również wersja Enterprise Edition, w której udostępniane są mechanizmy pracy nad współdzielonym repozytorium. Jest to tak naprawdę rozszerzenie pozostałych edycji.

Dobrym pomysłem jest udostępnienie przez Sybase darmowej edycji - Viewer Edition, przeznaczonej wyłącznie do przeglądania projektów. Edycja ta ma możliwość generowania raportów, drukowania oraz nawigacji po zawartości zbudowanych modeli. W ten sposób to, co zostało zaprojektowane w Power Designer 12 staje się automatycznie dokumentacją - i każdy może zapoznać się z oryginalnym modelem.


TOP 200