czwartek, lipca 07, 2005

Przemyślenia

  • W gruncie rzeczy niezależnośćm uniwersalność i elastyczność rozwiązań informatycznych a szczególnie programistycznych jest realizowana za pomocą separacji i kapsułkowania (coś dla zwolenników OO) ale w gruncie rzeczy sprowadza się to do najzwyklejszego nałożenia na siebie kolejnych warstw oprogramowania. Do tego wcale nie trzeba zaawansowanego mechanizmu oferowanego przez OO, można do tego wykorzystać zwykłe funkcje. Co jest ważne, to jedynie korzystanie (posiłkowanie się) z paradygmatów- wzorców (szablonów) projektowych, na przykład modelu MVC. Pozyteczność idei rozdzielonych warstw implementowana w modelu MVC jest przez nas niedoceniana.
  • Pomysł na wykorzystanie z JCF biblioteki java.lang.netscape.* w celu obsługi poprzez DOM elementów strony HTML w której osadzony jest applet. Rozwiązanie.
  • Super GUI dla JS wykorzystujące XML (menu, toolbar oraz tree) pod adresem.

Skrawki

Serwis "betanews" donosi o tym, że firma SUN zezwala na instalację na swoich serwerach oprogramowanie MS Windows Server. Można będzie kupić serwer Sun-a z MS Windosws. Oczekuje się podpisania umowy licencyjnej z MS. Być może chodzi o przetestowania LH.

Firma Mainsoft oferuje możliwość tworzenia aplikacji webowych w środowisku Linux przy użyciu Visual Studio w postaci wtyczki do MS VS - J2EE Developer Edition (Grasshopper). Jest to efekt współpracy z Mono. Języki programowania C# oraz .NET VB. Ma to umozliwić współpracę z aplikacjami J2EE. Wilcox z Jupiter Research twierdzi, że chodzi o przyciągnięci większej ilości deweloperów do narzędzia MS VS bez względu na platformę systemowo-narzędziową.

Co z tym JAR-em

To nie ma nic wspólnego z muzykiem J.M.Jarre, chodzi o przestarzały format plików JAR. Ostatnio nad tym pracuje grupa JSR 277 (Java Module System), chodzi o uwzględnienie w formacie nowych urządzeń java i poszerzenie możliwości rozpoznania na jakim urządzeniu następuje instalacja.
Java to get Web services, XML improvements
Sun's open source strategy treads well-worn path

Ciągle pokłosie konferencji JavaOne

Relacje m. IBM a SUN są ciągle niejasne, trudne i zagmatwane, z jednej strony podpisano na 10 lat umowę o wymianie technologii i licencji na produkty Java (przez IBM), z drugiej SUN nie chce się wlączyć do Eclipse uważając swój RAD Netbeans za lepszy.

Co jeszcze?
  • IBM nadal będzie wspierał rozwój języka Java biorąc udział w JCP.
  • IBM wystąpił grupy JSR 208 (Java Business Integration) zajmującej się integracją aplikacji poprzez interfejs w Javie. Za dużo pracy IBM włożył w Websphere (ESB).
  • IBM kiedy Java zaczęło wchodzić w usługi sieciowe (tzw. Webservices) zbliżył się bardziej do Microsoft i stworzył zażył z tą firmą zalążki standardu Web services. W lutym 2002 stworzyli organizację pod nazwą WSI (Web Services Interoperability) - w radzie założycielskiej nie było firmy SUN.
  • IBM w 2001 roku udostępnił Eclipse, otwartą platformę do tworzenia aplikacji w Javie.
  • Sun obiecał wsparcie w NetBeans dla projektów w Eclipse (chyba po to, żeby migrować z E do N).
  • IBM zakupiło firmę Gluecode (entry level serwery aplikacyjne) jako pomost stosowania WebSpehere (na poziomie korporacyjnym). Ale jednocześnie firma Gluecode była głównym dostawcą kody do opensource-ego projektu Geronimo - serwera aplikacyjnego J2EE (open-source J2EE application server) należącego do Apache Software Foundation's.
  • Analitycy widzą to jako próba pośredniego wpłynięcia na rozwój języka Java i jego wykorzystania poprzez sterowanie ASF zamiast JCP.
Motto:
Nie ma jednego młotka na wszystkie gwoździe - "there's no one hammer for all nails. "

Nowa twarz dla Javy klienckiej

Strona aplikacji klienckich

  • Historia GUI Javy zaczyna się w 1995 w postaci komponentów AWT mającego być przenaszalnym między platformami. Jego wady - niestabilność, mała portowalność i nieciekawa grafika. Rok 1997 Sun udostępnił JFC (Java Foundation Classes) w tym i nowe GUI - SWING (100% Java, wolno działała). Miejsce: Kanada, firma: Object Technology International (OTI) wymysliło nowe GIU - SWT (Standard Widget Toolkit), które emulowało komponenty dialogowe natywne dla każdej platformy. Wkrótce IBM kupiło OTI i włączyło SWT do Eclipse. Zalety - szybkość, wierność wyglądu do danej platformy. Braki - podzbiór funkcjonalny tego co było w Swing.

Aplikacje webowe

  • Inaczej wygląda sprawa w aplikacjach enterprise - one najczęściej wykorzystują warstwę prezentacyjną oferowaną przez internetowe aplikacje. Najczęściej wykorzystuje się interfejs oparty o JSP (JavaServer pages). Są to wzorce na stronach HTML łączące statyczne kawałki elementów HTML z kodem w Javiesłużącym do generowania dynamicznej zawartości. Sposób ten aczkolwiek skuteczny, powodował zamieszanie w kodzie i był nieprzejrzysty. I tu społeczność open source przyszła z pomocą poprzez udostępnienie w 2001 projektu Struts - jasnego wyodrębnienia granicy między warstwą logiki i prezentacji. Struts bazuje na paradygmacie ModelViewController (rozwiązanie separujące trzy warstwy: prezentacyją, logiczną i bazową od siebie)

Ostatnio

  • IBM i Sun wspólnie promuje JSF (JavaServer Faces), który nie tylko zawiera paletę bogatych funkcjonalnie komponentów dobrze dostosowanych do wygenerowania przez współczene narzędzia RAD. Model tworzenia aplikacji jest bardziej elastyczny niż Struts i łatwiej tworzyć makiety interfejsu GUI. Dodatkowo, na osłodę przegranej Structs, główny projektant Struts znalazł zatrudnienie w SUN w zespole tworzącym JSF.


środa, lipca 06, 2005

Co z tym Oracle?

Wybierz w PHP swoje API do bazy:

PHP offers several application-programming interfaces (APIs) for connecting to Oracle—namely, the Oracle, OCI8, and in PHP 5.1, the PDO, extensions. As you will see shortly, PHP offers great functionality but awfully inconsistent naming conventions. Here is some guidance about which extension to deploy:

  • Strangely enough, the "Oracle" extension is designed for Oracle7 and should be avoided at all costs. It is obsolete and lacks much functionality such as Large Object (LOB) support.
  • PHP Data Objects (PDO) is the new portable database API in the PHP 5.1 release. However, it is still immature.
  • On Windows, you can choose to query Oracle via the Open Database Connectivity (ODBC) extension. ODBC has some merits, as it provides built-in connection pooling. But the limited ODBC API means that handling of LOBs and IN OUT parameters in stored procedures can be problematic.
  • The OCI8 extension provides the greatest functionality, as it maps very closely to the Oracle Call Interface (OCI). The "8" in OCI8 is misleading; the API can be used with Oracle8/8i, Oracle9i, and Oracle 10g. For best performance, I recommend this API.
Wybierz swoją bibliotekę klas

  • Before you start coding your application, you will find it useful to create a set of PHP functions to encapsulate the low-level functionality of the OCI8 extension. You can choose to either roll your own or use one of the popular open source libraries. The two most popular are PEAR DB and ADOdb. (I am the lead developer of the latter.)

    As an example, consider the following code to update a table consisting of three fields: a, b, and c.

    $conn = ocilogon('scott','tiger');

    $stmt = OCIParse("insert into abc (a,b,c) values (?,?,?)");
    OCIBindByName($stmt, ":a", $a, 32);
    OCIBindByName($stmt, ":b", $b, 32);
    OCIBindByName($stmt, ":c", $c, 32);
    for ($i=0; $i $a = $i;
    $b = "b".rand();
    $c = "c".rand();
    ociexecute($stmt,OCI_DEFAULT);
    }
    ocicommit($conn);
    Contrast this code with the simpler PEAR DB version:
    include('DB.php');
    $DB = &DB::Connect('oci8://scott:tiger@/');

    $DB->autoCommit(false);
    $stmt = $DB->prepare("insert into abc (a,b,c) values (?,?,?)");
    for ($i=0; $i $DB->execute($stmt,array($i,"b".rand(),"c".rand()));
    }
    $DB->commit();
    Or the really cool ADOdb version:
    include('/path/to/adodb/adodb.inc.php');
    $DB = NewADOConnection('oci8://scott:tiger@/');

    $DB->BeginTrans();
    $stmt = $DB->Prepare("insert into abc (a,b,c) values (:0,:1,:2)");
    for ($i=0; $i $DB->_Execute($stmt,array($i,"b".rand(),"c".rand()));
    }
    $DB->CommitTrans();
    You can see that the ADOdb libraries hide nitty-gritty details such as OCIBindByName from you. The libraries also have debugging modes that allow you to log and output the generated SQL for easy problem diagnosis
Pamiętaj o optymalizacji:
  • "Although this is not an Oracle-specific optimization, you should also install a PHP accelerator cache such as Zend Accelerator, eAccelerator, or APC to speed up the compilation and loading of PHP code libraries. "
Korzystaj z doświadczeń innych:

  • One of the big strengths of PHP over many other tools aimed at solving the Web problem is that other tools tend to associate such very specific targeted problem solving with the need to control how users approach the problem structurally. PHP doesn't impose any such structure, choosing instead to focus on making each individual functionality aspect of the problem as easy as possible to use. For example, PHP provides very targeted functions for communicating with a back-end database. These are specific to each database and do not sacrifice any performance to gain uniformity or consistency with other back-end databases. There is also no set way to structure a PHP application in terms of file layout and what goes where.

  • The fact that PHP doesn't impose structure doesn't mean that you shouldn't build your PHP applications in an organized and structured way. Here is one approach I like to show people who ask me how I would go about structuring a large PHP application.

   +--------------------------------+
| HTML TEMPLATES |
| $DOC_ROOT/*.php |
+--------------------------------+
| TEMPLATE HELPERS |
| $DOC_ROOT/*.inc |
+--------------------------------+
| BUSINESS LOGIC |
| /usr/local/php/*.inc |
+--------------------------------+
| C/C++ CORE CODE |
| /usr/local/lib/php/*.so |
+--------------------------------+
  • This four-layer approach addresses a couple of issues. First, it separates the content along the lines of responsibility in a typical project. The Web front-end developers work from the top, and the back-end engineers work from the bottom. They overlap a bit in the template helpers layer. It also separates anything that contains HTML, by putting those files into the document_root and anything that doesn't contain HTML outside the document_root.
  • The top template layer typically contains very little PHP—just simple function calls and the odd include. Perhaps a loop. These files are usually edited with an HTML authoring tool. The second layer, the template helpers, is where the interface between the business logic and the layout is defined. This layer might have convenience functions such as start_table(), show_user_record(), and any other reusable component that makes template authors' lives easier.

  • The business-logic layer does not contain any HTML at all. This is where such things as SQL queries and any other PHP user-space business logic is implemented. You might expect to see a function such as get_user_record() implemented in this layer. This function would take an ID, perform the appropriate SQL query, and then return an associative array with the result. A function in the layer above then takes this array and wraps some HTML around it to make it look nice.

  • The final C/C++ layer is where you put any custom back-end code required for a project. Many people will not have anything for this layer, but if you have a proprietary C or C++ library, you can write a PHP extension to interface to that here. Sometimes this layer is also used when a business-logic function written in user-space PHP turns out to be too slow.
Tricky
  • 1. When you are looking for information on a specific PHP function, go to http://php.net/ . For example: http://php.net/join. That takes you directly to the right place in the online manual on a server geographically near you.
  • 2. Try this: pear install apc . The pear command is a useful installer that can even be used to install PHP extensions written in C. In this case, it would install the APC opcode cache extension.

    3. Use an opcode cache to improve performance. See #2.

    4. There is nothing wrong with mixing OOP and procedural code in PHP. Use objects when they make sense, and go procedural for the rest.

    5. Extending PHP with your own custom C or C++ extensions is easier than you might think. See README.EXT_SKEL in the PHP source distribution.

    6. The echo << syntax is useful for outputting blocks of text with full $variable substitution, without needing to escape anything. EOB;

    7. PATH_INFO is good! Use it to clean up ugly URLs.

    8. Use a profiler, pear install apd.

    9. Database abstraction is mostly a myth. There is nothing wrong with direct database calls' making use of all the tricks and cheats your chosen database has to offer, to tweak as much performance as possible out of it.

wtorek, lipca 05, 2005

Ach, ci podstępni kapitalisci

Echa konferencji JavaOne - Oracle ogłosił, że będzie udostepniał od 28 czerwca swoje świetne środowisko JDeveloper 10 za darmo. Pozycja tego produktu - środowisko wytwórcze do SOA. Zawiera: IDE, UML, BPEL (workflow) oraz WS. Uwolnienie ceny JD nie oznacza odwrócenie się firmy od Eclipse (Oracle zaproponowal kierowanie i prowadzenie projektu narzedzi bazujacych na JSF (specyfikacji budowy interfejsu uzytkownika, bral udzial rowniez w pracach nad EJB), cjodzi raczej o zaregowanie na ruch swego arch rywala - firmy SAP wystepujacej ze swa plaforma middleware NETWEAVER.
Udostepniania za darmo baza Cloudscape oparta o jave w wersji 10.x wspiera JEDYNIE standard SQL implementowany w DB2 przez co przygotowuje grunt pod instalacje wlasnie tej bazy.

poniedziałek, lipca 04, 2005

Sprawy deweloperskie

Ukazała się uniwersalna kontrolka typu dbgrid (działa z ASP, J2EE oraz od niedawna z PHP), dostępny jest również trial: http://developer.ebusiness-apps.com
Podobna kontrola ale działająca po stronie klienta to quicktable napisana w javie: http://quicktable.org/download/downloadbean.htm
W poszukiwaniu sterowników do JDBC należy się udać najlepiej pod adres: http://industry.java.sun.com/products/jdbc/drivers
Okno modalne, uniwersalne (chodzi z każdą przeglądarką): http://www.dynamicdrive.com/dynamicindex8/dhtmlwindow.htm

czwartek, czerwca 30, 2005

Otwarcie Sun-a

W celu spopularyzowania języka Java firma SUN udostępniła kody źródłowe dwóch kluczowych swych technologii: Java Application Server Edition 9 (JAS) oraz Java Enterprise Server Bus (ESB), razem około 135 000 linii kodu (coś mało). Ciekawa jest podejście tej firmy, udostępniamy prawie wszystko ale do poziomu samej Javy. Technologia JAVA składa się z następujących filarów:
  1. J2SE (Jądro/Desktop)
  2. J2EE (Korporacja/Serwer)
  3. J2ME (urządzenia mobilne/bezprzewodowa łączność)
  4. JavaCard (sprzętowa implementacja języka)
  5. Java Web Services
  6. Java Business Integration
  7. XML
  8. Inne technologie ...

Znowu mamy mitologię, Ajax zamienia się w Atlasa

MS uważany niejako za ojca technologii AJAX (Asynchronous JavaScript and XML), poprzez wprowadzenie do IE JavaScript, DHTML oraz XMLHTTP, planuje stworzenie zorientowanej obiektowo platformy ATLAS na bazie JavaScipt do tworzenia rozwiązań w tej technologii. Wersja beta jest spodziewana we wrzesniu na corocznej konferencji PDC 2005 wraz z wersja 2 .NET i ma stanowić dodatkową opcję dla rozwiązań aplikacji w środowisku przeglądarki bazujacych na Avalon. Technologia ta znana od wielu lat w roziwązaniach wewnętrznych MS (Outlook Web Access oraz MSN Hotmail) znalazła nowe wykorzystanie przez firmę Google (Gmail, Google Maps). Ideę tę podchwycili także inni producenci przeglądarek internetowych (Opera, Safari, Mozilla). Jest prosta ale wymaga wielu linii kodu. Dlatego MS chce wprowadzić pozoiom abstrakcji izolujacy dewelopera od niuansów implementacji AJAX dla różnych przeglądarek. Aplikacje wykorzystujące ATLAS będą niezależne od rodzaju przeglądarki, nie będą wymagały dodatkowej instalacji i będą zintegrowane z ASP.NET. Pozwoli to na "przechodzące" profile użytkownika (na serwerze ) oraz wykorzystanie lokalnej pamięci do przechowywania stanu.
MS promuje ATLAS jako sposób na integrację bogatego środowiska ASP.NET oraz grafiki AVALON (z LH) do tworzenia aplikacji bazujących na przeglądarce. Czyli ASP.NET oraz ATLAS korzystają z mozliwości AVALON.
Ale każdy kij ma dwa końce: ciekwae jest podejście z drugiej strony. Każdy klient korzystający z Avalon będzie mógł mieć dostep do dwóch podstawowych usług ASP.NET: Building Block Services oraz Client Building Block Services. Tym tematom jest poświęcony cały blog na MS.

Sen na jawie, pokłosie konfrerncji JavaOne

Na konferencji JavaOne:
  • firma BEA ogłosiła rozporzestrzenianie się swocih narzędzi na inne platformy sprzętowo-narzędziowe. Do końca 2005 r planuje porting JRockit VM na serwery Sparc, Aix (Power PC) oraz HP-UX (Intel). Ściągnięcie JRocket jest darmowe, firma zarabia na narzędziach diagnostycznych. Futurystycznie planuje także przekształcić JR w warstwę stosu (stack) wirtualizującego zasoby serwera (powyżej warstwy "hypervisora" do zarządzania sterownikami i sprzętem i poniżej warstwy middleware w tym przypadku Bea Logic. Na samym spodzie będzie paltforma Intel z jego wsparciem wirtulizacyjnym na poziomie sprzętu. Firma udostepnia także portal wiedzy: arc2arc (dla architektów enterprise) oraz dev2dev dla "zwykłych" developerów.
  • Inne wydarzenie to wydanie wersji 3.1 oprogramowania Eclipse, oraz obietnica dostarczenia w ciągu 30 wszystkich innych dodatkowych projektów (jest ich V głównych) dla tej wersji (smutne jest to, że wiekszość tych projektów jest ukierunkowana na konkretną wersję Eclipsa i dochodzi do sytuacji, że trzeba mieć kilka wersji tego oprogramowania aby móc uruchomić interesujące na pluginy, każdy napisany dla innej wersji). Teraz będzie reedycja wyszystkich tych pluginów pod wersję 3.1. Chodzi m.in. o Business Intelligence and Reporting Tools, Web Tools, Test amd Performance Tools,Ggraphic Editor Framework, Visual Editor, AspectJ and Eclipse Modelling Framework. W tym tygodniu spodziewa się ukazania RCP 3.1 do budowania aplikacji klienckich, które nie są oparte o Web (chyba tu jest błąd, raczej wspartych o web).

środa, czerwca 29, 2005

IBM i Sun jak pies z kotem?

Na konferencji JavaOne organizowanej przez Sun doszło do zbliżenia między IBM a SUN. Podpisano na dalsze 10 lat umowę o współpracy w zakresie techologii. Między innymi IBM będzie korzystał z różnych wersji Javy (Java Platform Enterprise, Standard and Micro Editions), będzie korzystał z JavaCard oraz przeniesie WebSphere na Solaris 10 (dla platformy x86), dodoa wsparcie dla tej platformy dla sowich produktów DB2, Rational i Tivoli. Taki ruch ma na celu utarcie nosa ruchowi wśród developerów open-source w kierunki stworzenia własnej maszyny Java (HARMONY).
Niezależnie od tego SUN otworzył kody swego Java System Application Server Platform Edition 9.0.
Obie firmy potwierdziły chęć dalszej współpracy nad rozwojem języka Java w stowrzyszeniu standaryzacyjnym JCP (Java Community Process), które również rozwija nową funkcjonalność w Javie.
Na obronę przed niechęcią firmy SUN do upublicznienia kodu Java, firma przytacza obawę przez roszczeniami z tytułu praw autorskich (IP) oraz utratą wymienialności funkcjonalnej (interoperability). Sun twierdzi, że zawsze rozwój języka byl i jest pod kontrolą JCP a nie jej samej.

wtorek, czerwca 14, 2005

Kompendium o AJAX-ie

Kompendium o AJAX-ie:
A najlepiej wpisać w pewną znaną wyszukiwarkę zaczynającą się na literę G hasło:
"ajax jakiś_znany_język_programowania" lub "sajax"

Rameczki...

Wykaz materiałów do tworzenia miłych oku elementów GUI:

Gartner o (nie)bezpieczeństwie

Firma Gartner na IT Security Summit w Washington ogłosiła, że wiele raportów na temat zagrożenie ze strony programów wirusowych będących w stanie zagrozić nowoczesnym formom komunikacji poprzez wchodzące na rynek nowe technologie jest przesadzone. Chodzi o:
  1. wirusy komórkowe,
  2. telefonia internetowa (Voice-over-IP),
  3. dostęp do hotspot-ów,
  4. przyrównanie bezpieczeństwa do wdrożenia regulaminów/instrukcji i procedur bezpieczeństwa przyjętych przez firmy,
  5. ideę super-wirusa mogącego zarazić w mgnieniu oka cały internet.
Wiele firm antywirusowych działających w tych technologiach stara się zwiekszyć zyski poprzez "zastraszenie" potencjalnego klienta. Taka atmosfera może niekorzystanie wpłynąć na szybkość asymilacji nowych technologii w biznesie.
Warto jednak wspomnieć, że obecen stanowisko Gartner w sprawie minimalizowania zagrożenia jest trochę sprzeczne ze swoimi poprzednimi raportami.

Dywagacje na temat Knutha

Daniel Knuth autor "Art of programming" usiłuje napisać książkę kucharską ze wszystkimi algorytmami. To pionierskie dzieło trwa ponad 30 lat. Wydał na razie trzy tomu z dziesięciu. Wydaje się bardzo mądrym jego posunięcie, by algorytmy były zapisane w języku formalnym ale na tyle precyzyjnym, że można je wykonać w maszynie wirtulanej o architekturze von Neumana. Pod tym względem ten pionier nie różni się wiele od swoich naśladowców. Jedno go wyróżnia - nie posiłkuje się ani istniejącym językiem programowania (pamiętamy fale popularności języków do opisu algorytmów od Algolu poprzez Pascal aż po Python) ani nie wymyśła swego własnego języka wyższego rzędu.
On po prostu pisze w kodach maszynowych abstarkcyjnej maszyny.
Dzięki czemu algorytm jest wyrażony w swojej czystej postaci (kodzie bezpośrednim), bezpośrednio gotowej do wykonania na maszynie o architekturze, której podporządkowują się wszystkie komputery świata. Dzięki czemu algorytm nie jest obarczony właściwościami (jego kolorytem) danego języka wyższego rzędu np. wirtualnymi typami danych i strukturami wyższego rzędu, które w gruncie rzeczy i tak trzeba przekładać na język wykonywalny zrozumiały dla komputera.
Trzeba pogratulować takiego mądrego podejścia do tematu no i życzyć mu wiele sił i zdrowia, by zdążył z ukończeniem swego dzieła zanim wejdą do użycie komputery o innej od von Neumana architekturze.

Laboratorium MS

Okazuje się, że w celu spopularyzowania swoich technologii i produktów Microsoft udostepnia wirtualne laboratorium w którym można je przetestować (wg. Dave Kearns).

poniedziałek, czerwca 13, 2005

Nowości

Mapa drogowa rozwoju produktów serwerowych MS na podstawie TechEd. Generalnie chodzi o przygotowanie się do nadejścia nowej zmiany systemu operacyjnego Longhorn oczekiwanego w 2006. Pod tym kątem powstaje wiele aplikacji. Najważniejsza z nich to Visual Studio 2005 (Hawaii) - narzędzie do tworzenia aplikacji. Visaul Studio dla LH będzie miało kodowe oznaczenie Orcas. Nowością VS2005 jest potraktowanie Outlooka i programu do obsługi kalendarze jako front-end do innych aplikacji. Twórcy apliakacji w VBA dla MS Office również otrzymają swoje studio - Visual Studio for Microsoft Office System. Na początku przyszłego roku, w pierwszym kwartale, ukaże się również wersja BizTalk Server 2006 (V-Next).
W połowie przyszłego roku ukaże się również oprogramowanie do obsługi RFID (bazujące na .NET) ze sterownikami wbudowanymi w system operacyjny. Grupa zajmująca sie BizTalk pracuje również zunifikowanym produktem do obsługi przepływu procesów (workflow) zapakowanego jako kolejny serwis (usługa) wbudowana w OS (będzie to nosiło nazwę Windows Workflow Services).
Powstanie również nowe wersja Exchange 12 z wbudowaną obsługą głosową z funkcjonalnością udostępnioną poprzez usługi webowe (WS). Serwer będzie miał wbudowane narzędzia anty spamowe oraz nowe środowisko skryptowe Monad ułatwiające administrację wieloma serwerami.
Oczywiście będzie również premiera długo oczekiwanej edycji serwera bazy danych MS SQl Server 2005 w listopadzie.

piątek, czerwca 10, 2005

Ajax stare wino w nowej butelce?

Will AJAX help Google clean up? | Tech News on ZDNet
Ttechnologia uzywana przez aplikacje Google przypomniały twórcom aplikacji internetowych, że tworzenie funkcjonalnego klienta (w porównaniu do "cienkiego" klienta) bardziej przyciąga użytkownika. Wykorzystano starą (znaną w latach 90) technologię obejmującą:
  • język skryptowy (JS)
  • arkusz stylów (CSS)
  • inne "dzwonki i gwizdki" znane pod nazwą DHTML.
Taki powrót do przeszłości nie wynika wyłącznie z nostalgii, ale jest podyktowany jest pragmatyzmem (technologie te są wbudowane w każdą, teraz dosłownie, przeglądarkę i oferują zwiekszoną funkcjonalość - przede wszystkim nie wymagają przeładowania strony - podstawowego paradygmaty protokołu HTTP).
Powtórne narodziny ten zespół technologii przeżył 18 lutego za sprawą Jesse Garrett (współzałożyciela firmy Adaptive Path).
Wprowadzenie tej technologii w aplikacje internetowe jest konkretnym zagrożeniem dla innych technologii (Flash, MS XAML oraz wszystkich aplikacji klienckich). MS ma trochę pretesji dlaczego tak dlugo trwało "oswajanie" tej technologii dostępnej od dawna w środowsku Microsoft (niedawno wsparcie dla XMLHTTP uzyskał silnik Gecko a więc FireFox, Safari i Opera). XAML ma przewagę nad innymi rozwiązaniami poprzez wsparcie IDE oraz testowania. Jest obawa braku skalowalności i chaosu, jaki może zapanować przy dużyć projektach korzystających z AJAX. Mówi się, że wiele firm nie stać na podobne do Google badactwo (firma ta zatrudniło m.in. Adama Bosworth znanego z firmy MS jako wynalazcy DHTML).
Sentyment do starości przejawił się w schizmie jaka niedawno dokonała się, o zgrozo, w samej organizacji zajmującej się standardami - W3C. W3C podzieła się na grupę Web Hypertext Application Technology Working Group (WHAT-WG) zajmujaca się stworzeniem standardu aplikacji webowych w oparciu o istniejące technologie (JS, HTML, DOM i CSS) i grupę XForms - nowej wersji formularzy internetowych. WHAT-WG początkowo została założone w celu przeciwdziałania firmie MS we wprowadzeniu XAML/Avalon Web And Windows application coding system (ujednolicenia tworzenia aplikacji C/S i Web poprzez stosowanie spacjalnego języka opisu znaczników- markup language).
Google broni swojego wyboru, który został dokonany na podstawie przejrzenia wielu dostępnych technologii (nawet FF XUL i MS XAML). Ewentualna zmiana platformy jest możliwa w lażdej chwili i zależy jedynie od pojawienia się lepszej technologii od obecnie wybranej.