wtorek, września 27, 2005

Amazon + MS

Mimo wielu sukcesów Google, jest on ciągle firmą zajmującą się reklamami. Co innego Yahoo, Amazon - one zajmują się komercyjnymi zastosowaniami Internetu. Podobnie chce zrobić MS w swym produkcie MSN. Ale na razie podczas PDC ogloszono konkurs na wykorzystania API Amazon w aplikacjach Internetowych (Jest nawet książka nt. "Amazon hacks"). Chodzi o spopularyzowanie API do Web Services jako narzędzia dostępu do zasobów witryn komercyjnych (a poprzez te witryny do bogatego swiata aplikacji wewnętrzych firmy). Amazon API to gotowe do wykorzystania metody w stylu SOAP do podpiecia się do zasobów.
Niżej artykul na ten temat

Amazon contest targets .NET developers, or Let's have a mashup

22 Sep 2005 | SearchVB.com

The expo floor at Microsoft PDC [Sept 12 to 16] was the usual mix of the cool and useful, but you had to be there to see that. We came back with enough rubber toys, nylon Frisbees, glow-in-the-dark pens, books and demo CDs to entertain the kids until the next show comes around. A slew of new software was being demoed, including Acrylic, Indigo and Office 12. If you caught any of the business press lately, you would think the Microsoft situation was dour. But the PDC show floor was busy and enthused.

It seems Google with its Web services API, at least according to the Pandoras at Business Week and Forbes, was ready not only to map the world and index its content, but to flat out take over the world as well. Let Google enjoy its youthful glow. Amazon.com was the first big timer to the Web services API battle, and it is much more in the mainstream of electronic commerce – Google, as of this moment, is still just a big advertising company.

To remind people that Amazon and Microsoft are still in the Web API hunt, the companies announced the Microsoft Visual Studio 2005/Amazon Web Services Developer Contest at PDC05. From now through Dec. 31, 2005, developers can compete for prizes by using Visual Studio 2005 to build applications that use product data and technology from the Amazon Web services platform.

This is definitely a case where cool meets practical. To date, developers have used these APIs to create sites that bring in various functions from across the web. Some call these sites "mash-ups." So you can test your .NET skills, have a mash-up, and compete for prizes too. The grand-prize winner will have his or her Amazon.com Wish List fulfilled with a value up to $5,000 (U.S.).

Visual Studio tools can access the Amazon Web services API via SOAP [Simple Object Access Protocol). "If you use the Amazon Web services API, the entire company becomes a programmable object," said Jeff Barr, Amazon. He points out the wide variety of items on Amazon site pages, adding that these items lead to all sorts of Amazon data.

Creativity has been great. People, he said, for example, have built links from their training programs to Amazon books. Of course, the popular book, "Amazon Hacks," outlines all sorts of programming that can be done. "People have great ideas. This is a mix of Amazon data and peoples' creativity," said Barr, who formerly worked with Microsoft.

He advises contestants to: "Put on their thinking caps and dream!"

sobota, września 24, 2005

Brak innowacyjnoci w MS

Brak innowacyjności w MS
Świetny artykuł opublikowany w BW szeroko opisujący niezadowolenie pracowników z działalności swoje firmy i atmosfery pracy. Chodzi głównie o kurczowe trzymanie się przez MS aplikacji monolitycznych podczas gdy wszyscy tworzą aplikacje internetowe (jak np. słynny Gogle).
Co boli pracowników MS (też BW):
  1. Brak innowacyjności (skupienie się na istniejących produktach).

  2. Wolny cykl tworzenia oprogramowania (spowodowana koniecznością uwzględnienia zależności między produktami)

  3. Nieustanne narady w celu omówienia wielu problemów zabiera czas potrzebny do tworzenia nowych produktów

  4. Upadające morale spowodowane (brak zachęty związanej z akcjami, obniżenie poziomu świadczeń zdrowotnych i wolnych dni urlopowych dla nowych pracowników)

Typy i poziomy szyfr

Typy i poziomy szyfrowania.

Poziomy mogą być dwa: aplikacyjny i fizyczne
Storage or app level?

Physical and file-share-level encryption

PROS
Relatively easy to implement
Protects against theft of storage devices and servers

CONS
Does not protect against application-level attacks

Application-level encryption

PROS
Provides security granularity
Allows encryption of specific data fields

CONS
Requires extensive performance and interoperability tests
Latency may be a concern

Banicja w wydaniu MS

Banicja w wydaniu MS
MS zabroniła stosowania pewnych funkcji kryptograficznych w nowo pisanych aplikacjach. Chodzi o algorytmy DES (Data Encryption Standard służy do szyfrowania informacji w wielu protokołach sieciowych), MD4 i MD5 (Message Digest pochodzą z MIT i zostało opracowane na początku 1990 do zapewnienia integralności danych – podpisu cyfrowego) a nawet SHA1 (najciężej “poszkodowany” ponieważ opublikowano na początku lutego przez chińskich naukowców teoretyczną próbę ataku na ten algorytm).
MS rekomenduje stosowanie SHA 256 (Secure Hash Algorithm) oraz AES (Advanced Encryption Standard).
Taka polityka jest zgodna z odbywającymi się co pół roku zaleceniami tzw. Microsoft Secure Development. Wymaganie stosowania tej polityki będzie odbywać się przy pomocy automatycznych narzędzi skanujących kod źródłowy nowo powstałych programów.

Wyscig do Linuksa

Wyscig do Linuksa?
Na konferencji PDC działo się wiele, jednym z ważnych wątków jest ogłoszenie inicjatywy „Race to Linux”. Chodzi o zawody polegające na przeniesieniu aplikacji wykonanych w ASP.NET w środowisku Linux przy użyciu dowolnego narzędzia migracyjnego np. Mono, Grasshopper (Mainsoft) lub Zend. Chyba chodzi o zareklamowanie narzędzia migracyjnego firmy Maindoft. Grasshopper jest bezpłatną wtyczką do VS .NET pozwalającą uruchamiać serwerowe aplikacje w ASP.NET pod Linuksem lub dowolną platformą zawierającą maszynę Java. Więcej informacji jest na stronie codeproject, który jest autorem zawodów.

Zasoby z Internetu

  1. Ciekawe adresy do zasobów każdego WebMastera - http://toolkit.crispen.org/
  2. Fizozofia umysłu - http://philosophy.uwaterloo.ca/MindDict
  3. 11 rozdział książki o .NET dla VPF - http://foxcentral.net/microsoft/NETforVFPDevelopers_Chapter11.htm
  4. Jcommander - http://homepage.sunrise.ch/mysunrise/jdkcommander/ug/usersguide.html
  5. PHP on the Fly - http://www.devnewz.com/devnewz-3-20041201PHPOnTheFly.html
  6. PrticleTree - http://particletree.com/
  7. Tree dla DHTML - http://webfx.eae.net/dhtml/xtree/implementation.html
  8. Web controls - http://odetocode.com/Articles/348.aspx

niedziela, września 18, 2005

Ważne wiadomości

PDC w L.A. trwa nadal i wciąż napływają nowe wieści na temat można powiedzieć fundamentalnych zmian w polityce MS w odniesieniu do udostępniania sowich produktów użytkownikom końcowym oraz deweloperom

piątek, września 16, 2005

czwartek, września 15, 2005

Zasobniki w czwartek





Zasobniki w czwartek
Bookmarklet-y (Favelet-y) – krótkie programiki w JS uruchamiane w oknie z adresem w przeglądarce lub jako linki (zamiast protokołu „http” jest „javascript” np.: „javascript://alert(‘cześć’)”
Adresy:
http://www.squarefree.com/2005/08/
http://www.squarefree.com/bookmarklets/validation.html
http://www.squarefree.com/userstyles/
http://www.squarefree.com/bookmarklets/webdevel.html
przedstawienie modelu BOM (browser object model) „Professional JavaScript for Web Developers: JavaScript in the Browser, Pt. 1” – gdzie umieszczać wstawki w JS na stronie HTML


Uwaga XHTML wymaga trochę innego zapisu skryptów w HTML:

Rozłam w grupie W3C

Rozłam w grupie standardów W3C, co przyjąć XForms czy WHAT WG? Za Xform przemawiają prace prowadzone przez W3C od 2000 r. Przeciw -  brak zakończenia prac, brak wsparcia w implementacji w standardowych przeglądarkach internetowych (IE, FF, mozilla), wspierają go firmy spoza głównego nurtu firm internetowych (IBM, Novel, Oracle) jakby naprzekór stanu rzeczywistego. Za WHAT stoi pragmatyzm, wzbogacenie tradycyjnych formularzy. Ciekawy na ten temat artykuł jest tu.

AJAX z bledami

Błędy powstałe przy nieumiejętnym wykorzystaniu technologii AJAX.
Artykuł  w blogu autorstwa Alex Boswortha na tema 10 najczęstszych błedach pojawił się tu:
  1. Brak wizualnego sygnału na stronie, że nastąpiło zwrócenie się do serwera po dane. Użytkownik nie wie czemu czeka na reakcję.

  2. Brak wsparcia dla klawisz „Back”, powrót na poprzednią stronę

  3. Brak zmiany stanu przez wybranie łącza (linku). Użytkownik jest przyzwyczajony, że łącza sterują nawigają, a w tej technologii łącza sterują zachowaniem się aplikacji (jej stanem).

  4. Nieoczekiwane (asynchroniczne przecież, one wynikają ze specyfiki AJAX) zmiany zawartości powodują dezorientację użytkownika.

  5. Nie działa mechanizm zamrożenia stanu strony przez zapamiętanie jej stanu przy pomocy „bookmark”. Strona jest generowana przez JS lokalnie a nie pochodzi jako wynik przesłania danych z serwera.

  6. Znaczna ilość kodu potrzebna do uruchomienia strony klienckiej aplikacji, powoduje znaczne obciążenie CPU lokalanego komputera, przez co przeglądarka wyświelająca aplikację działa wolno.

  7. Wymyślanie nowego interfejsu GUI powoduje, że użytkownik musi się na nowo uczyć obsługi aplikacji. Np. przyzwyczajenie do przytrzymania prawym klawiszem jakiegoś elementu nie działa lub działa inaczej niż zamierzano.

  8. Brak uwzględnienie lokalnych zmian zawartości w globalnej „wizji” bieżącej strony lub stron otrzymywanych w dalszej interakcji. Łatwość modyfikacji lokalnej treści nie zawsze się przenosi na wyższy poziom stanu aplikacji.

  9. Asynchroniczna aktualizacja i śledzenie stanu wsadowych zmian (np. naciśnięcie wielu checkbox-ów z których każdy wysyła dane do kontroli do serwera) powoduje trudności w zorientowaniu się użytkownikowi co się dzieje.

  10. Nagłe zmiany w treści oglądanej strony mogą przeszkadzać użytkowi, który np. czytał długi rozdział a tu nagle został on skrócony lub przesuniętu w dół z uwagi na potzrebe zrobienia miejsca dla nowej zawartości.
Krytykę AJAX również można znaleźć na stronie twórców Mozilla.

Zasoby do AJAX w IBM

Zasoby do artykułu „AJAX and scripting Web services with E4X
  1. Read "AJAX and scripting Web services with E4X, Part 1" (developerWorks, April 2005) for an introduction to E4X.

  2. Get more information on JAX-RPC.

  3. Read the E4X specification ECMA-357.

  4. Read the JavaScript specification ECMA-262.

  5. Find out more about Rhino, JavaScript for Java from Mozilla.

  6. Visit the Apache XMLBeans project Web site.

  7. Visit the Apache AXIS Web services engine.

LINQ

LINQ
LINQ oznacza Language INtegrated Query w skrócie oznacza zrównanie operacji zapytania (kwerendy) oraz wyliczenia (ogólnie operacji na zbiorach) i włączenie instrukcji SQL do języków platformy .NET. Przykład:

Stworzenie kolekcji:
  • Prosta : int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
  • Skomplikowana: List products = GetProductList();

Utworzenie zapytania:

  • var lowNums = from n in numbers where n < 5 select n;
  • var expensiveInStockProducts = from p in products where p.UnitsInStock > 0 && p.UnitPrice > 3.00M select p;

Wykonanie (wyliczenie):

  • foreach (var x in lowNums) { Console.WriteLine(x); }
  • foreach (var product in expensiveInStockProducts) { Console.WriteLine("{0} is in stock and costs more than 3.00.", product.ProductName); }

Zasoby na temat XML

Lista łączników do zasobów na temat XML.
Format XML jest źródłem wielu protokołów, prace nad nimi prowadzi W3C w ramach grupy roboczej do spraw protokołów (XML Protocol Working Group). Sporządziła ona listę protokołów do wymiany informacji i zdalnego wywołania procedur. Jest wiele serwisów z informacjami na temat XML i jego wykorzystania:
  • Very Dynamic Web Interface – artykuł zawiera historię i opis dwóch interfejsów do wywołania stron na zdalnych serwerach: XMLHTTP (rozwiązanie historycznie pierwsze zproponowane przez MS niestety w technologii ActiveX) oraz XMLHttpRequest (inne przeglądarki w tym Mozilla, Safari i Opera). To drugie rozwiązanie rozszerza specyfikę języka JavaSript (var req = new XMLHttpRequest();) nie opiera się w sposób jawny na specyfikę środowiska Windows i jest przez to uniwersalne (działa w różnych platformach systemowych). Z drugiej strony jest to niestandardowe rozszerzenie języka skryptowego ECMAScript. Rozwiązanie pierwsze działa jedynie na platformie MS Windows. Zaletą tego jest, że wszystkie aplikacje wspierające COM+ (dawniej ActiveX) mogą korzystać z tego obiektu. Za obecność tego obiektu odpowiada oprogramowanie MSXML do ściągnięcia w witryny MS (nowsze wersje/ uaktualnienia) lub pochodzące z MS IE. W artykule jest odnośnik do tutoriala z zasobów Apple z przykładem na ten temt.

  • Survey of XML standards: Part 1 / 2 – napisana przez znanego specjalistę Uche Ogbuji (IBM). Cześć pierwsza traktuje podstawowe technologie związane z XML (XML 1 i XML 1.1, Catalogs, XML Namespaces, XMLBase, XML Include, XML Infoset, Canonical XML, Xpath, Xpointer, Xlink, Relax NG, W3C XML Schema). Tutoriale są na serwerze ZVON i W3Schools. Część druga zajmuje się stroną programistyczną XML (XSLT, SAX, DOM, XAPI, Xupdate, Xquery, SQL/XML, CSS, Xforms, SOAP,WSDL). Dodatkowa lista standardów jest na stronie developerskiej IBM (tu). Jest tam dużo informacji na pokrewne tematy RSS, RDF, XML-signature, XHTML. Część 3 zawiera aplikacje korzystające z XML (XHTML 1.0 i 2.0, DocBook, XSL-FO, SVG, VoiceXML, MathML, SIML, RDF). W części 4 jest piękny obrazek przedstawiające wszystkie te technologie z lotu ptaka.

  • Spis ciekawych artykułow z StyleStudio. Między innymi można na podstawie pliku XML wygenerować automatycznie opis tego pliku (refaktoring) w formacie DTD lub XML Schema.

  • Czołowym dostawcą rozwiązań obsługi XML jest firma Altova, która udostępniła bezpłatnie swój parser na stronie oraz portal z dokumentacją dla deweloperów. Co daje ten parser. AltovaXML jest to silnik parsujący zgodny z XML 1.0, XML 2.0 (transformacje), Xquery (zapytania)  oraz walidator (walidacje). Dostęp do niego jest z trzech poziomów: COM, Java oraz .NET. Można również go wywoływać z linii poleceń. Pełna zgodność z zaleceniami W3C. Optymalizacja, dzieki temu nadaje się do zastosowania po stronie klienckiej oraz serwerowej. Wsparcie dla XML Schema.

  • Narzędzia: xmlwrench, pete xml, xoology (coda), ms xml Notepad, bonfire studio (.nzworks.), Xml Metal, stylusstudio, XmlSpy.

poniedziałek, września 12, 2005

WASP to nie to co myślisz

WASP to Web Standard Project (a nie White AngloSax Protestant). Od swego powstania krytykował twórców przeglądarek internetowych za ich opieszałość w implementacji standardów W3C, niekonsekwencji i niekompatybilności witryn w różnorodnych przeglądarkach. Teraz w dobie renesansu skryptowania (implementacja XMLHttp przez Google, technologia AJAX oraz skryptowanie poza przeglądarką np. Dreamweaver oraz Widgets w systemie operac. Tiger firmy Appple) zaproponował nowy kierunek DOM Scripting Task Force mający na celu: promocję standardu DOM zawartego w W3C oraz upowszechnienie "dobrych" praktyk w zakresie stosowania języków skryptowych na stronach wwww (głównie JavaScript, MS JS, oraz standard łączący obie te implementacje - ECMAScript organiazacji europejskiej ds standardów ECMA) no jeszcze zwiększenie dostępności stron dla osób niepełnoprawnych.
WASP opisuje model programowania internetowego jako krzesło o trzech nogach (chyba brakuje jeszcze jednej, może się przewrócić): XHTML (struktura), CSS (prezentacja) oraz DOM (zachowanie, działanie).
Obecnie organizacja WASP się zmieniła, opublikowała swój manifest reszcie świata oraz współpracuje z MS w ramach tworzenia nowego MS IE 7.

Portal IBM i WS

Resources