- Wzorce korzystania z JDBC - mimo pojawienia się wielu technologii przeźroczystego dostępu do baz danych (tzw. data persistance: jak entity beans, JDO, Hibernate) nadal ze względów praktycznych króluje JDBC. Wskazówki:
- korzystanie z puli połączeń (ustanowienie połączenia z bazą kosztuje od 30 do 1000ms). Prawie wszystkie kontenery servletowe i EJB korzystają z tej techniki. Poza ramami J2EE można skorzystać z projktów open-source np. Commons-DBCP
- zamykać należy połączenie - close() zwykle zwraca połączenie do puli a nie odłącza sie od bazy, powoduje to "wyciek" pamięci. Ułatwić to może projekt CementJ
- celowość stosowania procedur wbudowanych (przenaszalność kontra wydajność) tu należy stosować kryterium "ile będzie mniej transmisji sieciowych poprzez zastosowanie sp". Przetwarzanie logiki biznesowej (obciążającej CPU) w sp nie jest wskazane.
- podejście do generowanych automatyczne przez motor bazy kluczy - znajomość klucza nowego (po Insert) rekordu jest ważna np. do wpisania go do rekordów podrzędnych. Specyfikacja JDBC 3.0 wymaga od sterownika żeby zwrócił ten klucz - getGeneratedKeys().
- oddzielenie kodu JDBC od logiki biznesowej - należy kod JDBC zebrać w oddzielną klasę po to aby odseparować ten kod na wypadek konieczności dokonania zmiany oraz ułatwić współdzielenie kodu .
- korzystanie z "query fetch size" przy przeglądaniu dużych wyników zapytań. Zwykle ustala się go (pole fetchSize) na poziomie 100. Ma znaczenie przy wolnych połączeniach sieciowych (pobiera rzadziej dane)
- stosuj przetwarzanie wsadowe - grupowanie instrukcji SQL do wykonania jako jeden ciąg
- nowości w JDBC 3.0 - wsparcie dla RowSet (dla wsparcia JavaBeans): może być connected lub disconnected oraz możliwość serializacji do XML.
- Lista zaleceń wydajnościowych JDBC - http://www.javaperformancetuning.com/tips/jdbc.shtml
- Generalnie należy przeglądać serwis - http://jdj.sys-con.com/read/46653.htm z którego pochodzą w/w informacje
- Świetne tutoriale - http://www.j2eebrain.com/
- Jeszcze raz o Grasshopper ma się świetnie - http://linux.sys-con.com/read/393685.htm - projekt jest na poziomie Developer Edition bezpłatny i umożliwia pisanie w .NET, przenosić do Javy i uruchamiać na Linuksie.
- Ważne - ZEND Framework 1.0.0 już jest - (można się włączyć do prac Przemka) - http://linux.sys-con.com/read/397441.htm - ma wsparcie dla ORM
- Opis platformy ZEND - http://framework.zend.com/whyzf/components/
- Wstęp do JDBC:opis (dokumentacja JDBC) - http://java.sun.com/products/jdbc/download.html
- samouczek - http://java.sun.com/developer/onlineTraining/Database/JDBC20Intro/JDBC20.html
- Uwagi o JDBC - dla wersji 2.x wymagany jest pakiet JDBC core API (
zawiera się w
Java 2 SDK, Standard Edition -java.sql
package) gdy programujemy po stronie klienta, strona serwerowa używa innej biblioteki zawartej w Java 2 SDK, Enterprise Edition (java.sqlx), która zapewnia wiekszą funkcjonalność (pulę, RowSet). Można też ściągnąć indywidualnie w/w bibliotekę X.
piątek, lipca 13, 2007
Piątek ... początek
czwartek, lipca 12, 2007
Czwartek ciekawy jak zwykle:
- Wielowatkowość w VFP - http://www.codeplex.com/mtmyvfp
- Przegląd najlepszych stron wykonanych w Web 2.0:
- http://www.realsoftwaredevelopment.com/2006/10/best_of_the_bes.html
- http://virtualkarma.blogspot.com/2006/01/complete-list-of-web-20-applications.html
- Co to właściwie jest JQuery - http://jquery.com/
- Tutorial - http://www.tizag.com/javascriptT/index.php
- Visual GUI świetne - http://www.visualwebgui.com/
- http://www.codeguru.com/vb/gen/vb_general/idelanguage/article.php/c9621/
- CODE GURU po ang. Autentykacje na czym to polega - proces walidacji użytkownika na bazie jego przedstawionych akredytacji (emial, hasło, konto) i porównaniu ich ze wzorcem przechowywanym u siebie (np w bazie lub pliku XML, dla małych aplikacji może to być Web.Config). Najpolularniejszyą formą jest FORM AUTHENTICATION (autentykacja formularza):
- http://www.codeguru.com/csharp/.net/net_security/authentication/article.php/c7377/ - jest tam sourcecode.zip
- http://www.codeguru.com/csharp/.net/net_security/authentication/article.php/c4701/
- http://www.codeguru.com/csharp/.net/net_security/authentication/article.php/c8585/
- http://www.codeguru.com/csharp/.net/net_security/encryption/article.php/c4703/
- Tworzenie WS w .NET JS - http://www.codeguru.com/csharp/.net/jscript/essamahmedonjscriptnet/article.php/c4271/
- Podłącz się do Oracle - http://www.codeguru.com/csharp/csharp/cs_network/database/article.php/c13627/
- EasyEclipse - http://sourceforge.net/forum/forum.php?forum_id=644682
- Linki do JAva z WROX:
- JSP - http://p2p.wrox.com/forum.asp?FORUM_ID=86
- J2EE - http://p2p.wrox.com/forum.asp?FORUM_ID=88
- Generalnie to forum ma listę tematów do wybrania
- Super linki do przykładów z Wrox - http://www.wrox.com/WileyCDA/Section/id-105127.html
- Ciekawe dla developerów - http://www.packtpub.com/
- Implementacja stronicowania:
http://jsptags.com/tags/navigation/pager/index.jsp
http://www.javaworld.com/javaworld/jw-07-2004/jw-0726-pagination.html
http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=58&t=007230
http://servlets.com/archive/servlet/ReadMsg?msgId=274095&listName=struts-user
http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=58&t=007715
http://displaytag.sourceforge.net/10/tagreference-displaytag-12.html
http://www.junlu.com/msg/153352.html
http://jsptags.com/tags/navigation/pager/pager-taglib-2.0.html - Dokumentacja Apache - http://tomcat.apache.org/tomcat-5.0-doc/appdev/deployment.html
- Przykłady JAVA - http://www.devarticles.com/c/a/Java/Socket-Programming-in-Java/2/
- Jak zacząć z JSTL - http://www.exampledepot.com/egs/javax.servlet.jsp.jstl.core/usejstl.html
środa, lipca 11, 2007
Linki w srodę:
- https://www.spidynamics.com/products/webinspect/WIdirect.html - bezpieczeństwo
- Wiele odwołań do implementacji AJAXa - http://web2magazine.blogspot.com
- Tam też są prezentacje - https://www.spidynamics.com/spilabs/education/presentations.html
- Patrz też SPI Labs - https://www.spidynamics.com/spilabs/education/articles/index.html
- Europa w piątek prezentuje nowe podejście do Eclipse (synchronizacja projektów)- http://news.zdnet.com/2100-3513_22-6193596.html:
- (17 mln linii kodu o 7 mln więcej niż Callisto, zeszłoroczna edycja)
- BRIT i BI - wejscie z WS a wyjście do formatu MS Office
- wprowadznie DLR do IDE (Ruby, TCL w przyszłości Python i Perl)
- narzędzie do "rysowania" stron webowych
- Super strona rozbiegowa na temat programowania - http://updates.zdnet.com/tags/Programming.html (szukaj MSDN Webcast o events i delegatach)
- Programowanie jest sztuka podobnie jak dziennikarstwo - http://blogs.zdnet.com/open-source/?p=1192
- Scriptus Free - http://downloads.zdnet.com/download.aspx?docid=303501
- Uruchom zdalnie narzędzia rationala na serwerze w IBM
- Wyszukiwarka w J2EE przy pomocy API Google - http://www.regdeveloper.co.uk/2007/06/24/google_search_ajax/
- BBC - http://news.bbc.co.uk/
wtorek, lipca 10, 2007
Niezwykle ciekawe linki na tematy deweloperskie:
- IBM:
- AJAX + J2EE (servlety) - http://www.ibm.com/developerworks/library/j-ajax1/
- Rozbiegowka do artykułów nt. AJAX - http://www.ibm.com/developerworks/views/web/libraryview.jsp?search_by=Mastering+Ajax
- JSNOML - http://jsonml.org/
- Poznaj JsonML w IBM - http://www.ibm.com/developerworks/xml/library/x-jsonml/?S_TACT=105AGY01&S_CMP=PODCAST#resources
- Microsoft (CodeProject):
- Using JS to select GridView rows - http://www.codeproject.com/aspnet/JavaRowSelect.asp
- Code .NET 2.0; Build Java; Run Linux - http://www.codeproject.com/showcase/mainsoft.asp
- Code .NET 2.0; Build Java; Run Linux - http://www.codeproject.com/useritems/Net_COM__Interop.asp
- Dynamic Table using html and javascript - http://www.codeproject.com/useritems/html.asp
- ASP.NET Web Controls for the Yahoo! User Interface Library - http://www.codeproject.com/aspnet/YahooInterfaceLibWebCtrls.asp
- Interop Forms Toolkit 2.0 Tutorial - http://www.codeproject.com/useritems/VB6InteropToolkit2.asp
- Using .NET Controls in VB6 - http://www.codeproject.com/vb/interop/UsingDotNETControlsInVB6.asp
- http://www.codeproject.com/vb/interop/csCom.asp - http://www.codeproject.com/vb/interop/csCom.asp
poniedziałek, lipca 09, 2007
ASTORIA - nowy projekt MS
Jet to projekt zamknięty (komercyjny) mający na celu zbadanie wykorzystania najnowszych technik i koncepcji webowych na platformie Microsoft Data platform. Polega na eksponowaniu swoim klientom danych sererowych jako sieciowego serwisu danych (WS). Korzysta się z najprostszych, zna
nych i nie wymagających przechodzenia przez sito standardów protokolów HTTP (GET, POST, PUT, DELETE). Wymagane jest Visual Studio beta zwane "ORCA".
Jet to projekt zamknięty (komercyjny) mający na celu zbadanie wykorzystania najnowszych technik i koncepcji webowych na platformie Microsoft Data platform. Polega na eksponowaniu swoim klientom danych sererowych jako sieciowego serwisu danych (WS). Korzysta się z najprostszych, zna
nych i nie wymagających przechodzenia przez sito standardów protokolów HTTP (GET, POST, PUT, DELETE). Wymagane jest Visual Studio beta zwane "ORCA".
Wojna pomiędzy REST i SOAP
Prawda jest taka, że SOAP bez wsparcie środowiska RAD, robiony na "piechotę" jest koszmarny. Ale nawet ukrycie jego złożności przygotowania nie ukrywa faktu, że skład się z wielu warstw obejmujących wszystkie aspekty komunikacji od bezpieczeństwa aż po tranzakcyjnośc i zarządzanie.
To z lewej jest schemat REST (na podstawie dysertacji Fieldinnga). Przydatność REST potwredza Amazon.com oraz wiele publikacji na O'reilly.
Strona propagatora RESR: http://hinchcliffe.org/default.aspx
Prawda jest taka, że SOAP bez wsparcie środowiska RAD, robiony na "piechotę" jest koszmarny. Ale nawet ukrycie jego złożności przygotowania nie ukrywa faktu, że skład się z wielu warstw obejmujących wszystkie aspekty komunikacji od bezpieczeństwa aż po tranzakcyjnośc i zarządzanie.
To z lewej jest schemat REST (na podstawie dysertacji Fieldinnga). Przydatność REST potwredza Amazon.com oraz wiele publikacji na O'reilly.
Strona propagatora RESR: http://hinchcliffe.org/default.aspx
Projekt "Zero" IBM (http://www.linuxworld.com.au/index.php?id=2095861668&eid=-50)
Zero - oznacza 0 złożoności i narzutu. Środowisko do budowy aplikacji internetowych bazujących na popularnych technologiach Web 2.0:
Strona IBM samego projektu www.projectzero.org.
Zero - oznacza 0 złożoności i narzutu. Środowisko do budowy aplikacji internetowych bazujących na popularnych technologiach Web 2.0:
- standard wywołania - REST lub ATOM
- standard wymiany danych - JSON lub XML
- standard interfejsu - AJAX
Strona IBM samego projektu www.projectzero.org.
Nowości w poniedziałek
Wg.: The story of Web 2.0 and Web 2.0 continues p.1
Wg.: The story of Web 2.0 and Web 2.0 continues p.1
- Historia SOA i Web 2.0 - Co widzimy? Duże firmy softwarowe kierują się ku SOA w wydaniu lekkim, przez co zbliżają się coraz bardziej do technologii Web 2.0. Widzimy konwergencję tych dwóch fundamentalnych pojęć. SOA polega na dekompozycji aplikacji na serwisy, które mogą się wzajemnie wywoływać oraz co najważniejsze z punktu widzenia Web 2.- mogą się łączyć (w sposób zwany mashup) tworząc nowe usługi. Dodatkowo, nieformalne podejście w Web 2.0 zostało zamapowane do formalnego podejścia SOA. Innymi słowy można powiedzieć, że są to dwa podejścia: dekompozycja (w stylu SOA) i kompozycja (w stylu Web 2.0).
- Podobieństwa między nimi reprezentuje diagram Vienna
- Wspólne jest przeświadczenie, że oprogramowanie jest częścią większego ekosystemu.
- Główną koncepcją Web 2.0 są dane, natomiast w SOA to serwis (usługa która przy okazji przenosi również dane).
- WOA, rozwinięcie Web 2.0 - oznacza web oriented architecture (oparcie się na REST i ATOM).
- SOA z kolei opiera się na SOAP (nie jest zbyt popularny w Web 2.0, Google porzucił rozwój API w oparciu o SOA, Amazon daje podwójny interfejs (SOA i REST) inni wybierają tylko REST.
- Wygląda na to, że istnieje stan wojny między REST i SOA.
- Coraz więcej firm skłania się do przedstawienia danych w formie WOA (każdy rozmawia w HTTP i stosuje XML) a nie SOAP (jest wiele platform i wymagane jest przestzreganie bardzo ścisłe WS-* i ujednoliconej wersji SOAP)
- Do pary dane/usługi dochodzi trzeci element (chyba najważniejszy) - człowiek. Tutaj Web 2.0 zezwalający na mashup daje dla niego najwięcej.
- Dużo informacji na ten temat tu.
- Porównanie między SOA i Web 2.0
niedziela, lipca 08, 2007
Na jutro do zrobienia:
- Języki dynamiczne w srodowisku Java - http://www.oreillynet.com/onjava/blog/2007/06/scripting_language_for_the_jav.html
- Szpiegowanie klas - reflection- http://www.onjava.com/pub/a/onjava/2007/03/15/reflections-on-java-reflection doskonały przykład.
- Blog na temat J2EE - servlet v. 3.0 - http://java.sun.com/javaee/community/blogs/?feed=JSC
- Wreszczcie JSF 2 - http://www.oreillynet.com/onjava/blog/2007/05/jsf_20_is_here_1.html
- Przeechowywanie stanu i or-mapping bez Hibernate - doskonaly przyklad - http://www.ibm.com/developerworks/java/library/j-db4o4.html?ca=drs-
- Kursy JSP/Servlet/Applet/WebStart/SSL
- http://www.pluralsight.com/fritz/webcasts.aspx
- Google Gear z OnJava: http://www.onlamp.com/lpt/a/7055 i http://www.oreillynet.com/databases/blog/2007/06/post_1.html
- Prosy przykład AJAX w protoype- http://24ways.org/2005/easy-ajax-with-prototype
- Bradzo ciekawe prezentacje - http://www.webstandards.org/
- http://whitepapers.zdnet.co.uk/?r=1 , http://whitepapers.zdnet.co.uk/0,1000000651,260283228p-39000361q,00.htm?r=1 , http://whitepapers.zdnet.co.uk/0,1000000651,260282894p-39000361q,00.htm?r=1
- http://simonwillison.net/2006/openid-screencast/ , http://whitepapers.zdnet.co.uk/0,1000000652,260283112p,00.htm?r=1
- http://www.sitepoint.com/article/painless-javascript-prototype/4
- Super tutorial na temat J2EE autorstwa SUNa - http://java.sun.com/j2ee/1.4/docs/tutorial/doc/
- Świetny tutorial nt. Atlasa - http://www.asp.net/learn/videos/default.aspx?tabid=63#ajax
- Wspomaganie AJAX w prototype - http://www.sitepoint.com/article/painless-javascript-prototype/4
- AJAX i FORM ale troche inaczej W artykule (http://www.xul.fr/en-xml-a) przedstawiono inne podejście do wysyłania formularza. Buduje się formularz w tradycyjn sposób (ale bez action=""), wśród pól jest przycisk z onclick który wysyła zawartość innych elementów do funkcji w JS która z kolei wysyła te dane do serwera. Sprytnie podciągnięty AJAX pod tradycyjne przetwarzanie. Proszę pamiętać, że podobnie jak zwolennicy REST, aplikacja webowa polega na wysyłaniu danych do serwera i przyjmowania od niego informacji zwrotnej. Linki:
- Dodatek do WTP w Eclipse - http://www.eclipse.org/atf/
- Framework - http://www.xul.fr/ajax-frameworks.html
- Opis JSON - http://www.xul.fr/ajax-javascript-json.html
MS mówi, że zależy mu na interoperability. Nie jest to altriuzm ale wyrafinowana gra biznesowa w której wszyscy są zwycięzcami. Chodzi tu o cztery zasady:
- produkty
- społeczność
- dostępność
- standardy
MS bierze czynny udział w pracy komitetów standaryzacyjnych: IETF, W3C, OASIS, IEEE, ETSI, OMA, ECMA, ISO/IEC, and ITU.
Jeżeli chodzi o sprawę standardów to mowa o standardach otwartych a nie open source, tak uważa również EU (http://www.comptia.org/issues/docs/interopwhitepaper0204.pdf) .
Subskrybuj:
Posty (Atom)