czwartek, lipca 21, 2005

Kurs .NET Wstep

Składniki framework .NET:
  1. .NET Framework
  2. The Windows Server System (serwisami są: WMI, IIS, Message Quqeuing, COM+)
  3. Web Services
  4. Model Programming
  5. Client Software
  6. Development Tools

Aplikacje komunikują się poprzez WS (jest on klejem). CLR używa XML i jest niezależny od języka programowania oraz platformy. Common Language Specification (CLS) - musi je spełniac każdy język, który chce pracować w .NET.

Podstawą ASP.NET są WebForms. ASP.NET składa się z:

  1. Web Forms (UI)
  2. Code-behind pages (kod na serwerze)
  3. Web.config file (ustawienia aplikacji)
  4. Machine.config file (ustawienia serwera)
  5. Global.asax file (kod do obsługi zdarzeń w aplikacji)

Zlepki

Strona na temat ciekawych programów z zakresu środowisk programistycznych (Java, ActiveX):
  1. CNET download
  2. HTML_graphs (PHP) coś podobnego do JGraph
  3. OpenRICO (XMLHTTP)
  4. Opis DOM-u
  5. QUick start w NetBeans
  6. Swiki (podobne do wiki)
  7. Agata/Jasper dla PHP
  8. HTML TextArea Edytor do edycji pól HTML-owych- tu

sobota, lipca 16, 2005

Podejście do bezpieczeństwa

Ostatnia analiza komunikatów o zagrożeniach w przeglądarkach pozwala wysnuć parę ciekawych wniosków:
  1. Nie ma bezpiecznych przeglądarek internetowych (z tym z uwagi na mniej "ruchomych częsci" bardziej bezpieczą wydaje się Mozilla)
  2. O jakosci oprogramowania decyduję nie iluzoryczne poczucie "bezpieczństwa" używanej przez użytkowników przeglądarki lecz szybkosć i jawnosć publikowania tzw. rapotów o vulnerabilities oraz wyznaczanie z góry dat przygotowania "łatek". Pod tym względem FireFox jest w tyle.
  3. No i tyle....

wtorek, lipca 12, 2005

VFP

Wspaniała kontrolka .CAB

Eclipse Cabinet Control - The Eclipse Cabinet control makes file compression a breeze. It stores information into the standard CAB format which is also great because the format is known more to developers than it is to users who usually prefer the zip format. The EclipseCabinet control is also a great example of a FREE control that developers can start using easily.
Compressing Files
LOCAL loCompress
loCompress = CREATEOBJECT(“EclipseCabinet99.ecCompress”)
loCompress.FileName = “MYFILE.CAB”)
loCompress.FILES.ADD("MASTERS.TXT")
loCompress.Compress( )
Extracting Files
LOCAL loExtract
loExtract = CREATEOBJECT(“EclipseCabinet99.ecExtract”)
loExtract.FileName = “MYFILE.CAB”)
loExtract.ExtractAll(“C:\Extracted Files\”) && to the directory

Opis Listview
http://foxproadvisor.com/doc/12122
http://www.aksel.com/whitepapers/ActiveXControls.htm

http://www.experts-exchange.com/Databases/FoxPro/Q_20751397.html
http://www.aksel.com/whitepapers/
http://www.dfpug.de/konf/konf_1994/prog/121_224.HTM

poniedziałek, lipca 11, 2005

PKLITE dostep do bazy przez JDBC

Dostep do dowolnej bazy zdalnej przez JDBC

Wyluskanie elementu HTML+Bookmarklets

.function getElement(psID)
.{ if(document.all)
.{ return document.all[psID]; }
.else { return document.getElementById(psID); }
}.
Wywolanie:
.< id="'divMyDiv'">Text< /div>...
.< language="JavaScript">
. alert(getElement('divMyDiv').style.color);
.< /script>
Informacja o bookmarkets http://subsimple.com/bookmarklets/jsbuilderhelp.htm



SWIK + Stosowanie PGP pod Linux + GooleX

  1. Społecznosć sourceforge doczekała się swojej encyklopedii w stylu wiki http://www.swik.net/
  2. Bardzo ciekawy pomysł - można "odkryć" wiele nieznaych implementacji teoretycznych rozwiązań problemów informatycznych.
  3. Jak to się robi ręcznie - http://www.linuxjournal.com/article/7354
  4. Nowy ciekawy interfejs do GOOGLE - http://www.theplaceforitall.com/googlex2/
  5. Nowe ciekawe pomysly na wykorzystanie CSS - www.stunicholls.myby.co.uk
  6. Zbior skryptow: http://www.php-mysql-perl.com/scripts/c7-javascript-download.html

Ciekawy przegląd wstępny platformy Eclipse

Ciekawy sposób licencjonowania: EPL (Eclipse Public License) - kody źródłowe wraz z binarnymi są dostępne bez opłat i użytkownik ma pełne prawa do dystrybucji ich w komercyjnych jak i open-source-wych zastosowniach. Warunkiem jest, żeby modyfikacje uczynione w orginalnym kodzie źródłowym pobranym (wykorzystywanym) z Eclipse były dostępne (również na zasadzie EPL). Nie oznacza to, że wszystkie rozszerzenia i wtyczki napisane pod konkretne zastosowanie też muszą być udostępnione wg. EPL.

Taki brak restrykcji na wykorzystanie E z jednej strony pomaga w rozwoju tej platformy, z drugiej jednak strony jest wyzwaniem dla twórców oprogramowania z uwagi na koniecznosć sprawdzenia czy baza wykorzystywanego do nowoego projektu kodu źrólowego nie zawiera kodu bazującego na bardziej restryktywnych licencjach. Wiadomo przecież, że niekt nie chce wyważać otwartych drzwi i często korzysta ze wczesniejszych rozwiązań.

Resources
Eclipse Web site: http://www.eclipse.org/
Planet Eclipse: http://www.planeteclipse.org/
Eclipse Plugin Central: http://www.eclipseplugincentral.com/
EclipsePlugins: http://eclipse-plugins.info/
Eclipse Zone: http://www.eclipsezone.com/
IBM developerWorks: http://www.ibm.com/developerWorks
About the Author

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.