Głównym motorem rozwoju języka Java jest ciągle firma SUN (mimo otwarcia się na potrzeby społeczności open source). Tu powstają i są implementowane nie tylko nowe konstrukcje językowe ale też i implementacje nowych technologii. W szczególności spraw palących i drażliwych jak zachowanie stanu (persistance) oraz usługi sieciowe (web services - http://java.sun.com/webservices/).
Postawienie karty na technologii IBM jest OK, ale trzeba uważać na potencjalny konflikt między rozwiązaniami IBM i SUN. IBM jest podobny do MS, niecierpliwie chce wdrażać nowe technologie do Javy, podczas gdy SUN jest tym "hamulcowym". Dlatego IBM, sprytnie posługując sie wpływami w fundacji Eclipse, "przemyca" różne projekty.
Tak np. ma miejsce w przypadku WS - w nowej wersji Java 6 mamy już pełną (choć bardzo spóźnioną w czasie) implementacje WS-* i to jest dobre. Co zrobił IBM gdy potrzebował implementacji WS? Dodał ją do Websphere (swego serwera aplikacji), podobnie zrobiono również w fundacji Apache (projekt Axis).
Mamy więc dwa rozwiązanie tego samego problemu. Które lepsze? To zależy, z punktu widzenia programisty jest unifikacja - w języku Java ma już pełne wsparcie WS (a więc śmierć Aixs-a). Z punktu widzenia kierownictwa działu IT lepsze jest rozwiązanie drugie bazujące na implementacji WS w centralnym miejscu - serwerze internetowym Apache (wtedy programiści różnych języków mogą pisać aplikacje skierowane do jednej, wspólnej implementacji WS pod Apache - potrzebne są jedynie komponenty proxy do Apache dla danego języka w postaci mod_xxxx).
Implementacje WS w języku Java:
- JAX-WS - implementacja W3C stosu WS-*
- JAXB - powiązanie XML z obiektami w JavaBeans (API do powiązanie XML z obiektami w Javie)
- WSIT - współpraca z implementacją WS w MS .NET 3 poprzez wykorzystanie nowej własności Java 6 Mustang - annotacji (tu widzimy po raz pierwszy, mam nadzieję nie jedyny, wpływ C# na Java)
- JAXP - przetwarzanie XML niezależne od implementacji parsera XML
- XWSS - zapewnienie bezpieczeństwa XML i WS poprzez implementację zaleceń grupy OASIS WSS (web services security)
- możliwość stosowania języków dynamicznych (scripting) do: prototypownia lub (nawet) programowania (dla ludzi obytych z np. JS)
- lepsze wsparcie dla baz danych (implementacja JDBC 4.0 z lepszym wsparciem dla typów XML w kolumnach i dla BLOB-ów)
- dostęp do kompilatora w fazie uruchomienia (run-time) - oznacza to możliwość kompilacji w locie dowolnego tekstu do kodu wykonywalnego (podobnie jak eval w JavaScript lub execscript w VFP)
Brak komentarzy:
Prześlij komentarz