Tajemnica stojąca za CF – IBM BlueMix to także odmoana CF. Cloud Foundry was created by VMware to streamline deployment for application developers, application operators, and cloud operators. Then in April 2011, Cloud Foundry was announced as open source under the Apache 2.0 license, with the pitch to developers that they could code in the language and Web framework of their choice without worrying about the IT environment.
In February 2014, VMware spin-off Pivotal announced the formation of the Cloud Foundry Foundation, with Pivotal, EMC, IBM, Rackspace, and VMware as Platinum sponsors. The foundation has since expanded to 33 members and 42 contributing companies. One differentiator for Cloud Foundry is support for Pivotal HD Hadoop MapReduce, HAWQ SQL for Hadoop, and GemFire XD analytics. Another is the availability of the Pivotal Mobile Services Suite, thanks to last year’s acquisition of Xtreme Labs. Pivotal’s big data services and mobile services are both now integrated with Pivotal CF, the company’s enterprise version of Cloud Foundry.
Ciekawe technologie: Docker oraz Vagrant, a także monitorowanie np. pracą jakichś serwerów
Krótka definicja Dockera i firmy które go wspierają – When containers first appeared in Linux, the natural assumption was that it would be yet another of many technologies that Linux has assimilated. But then came Docker, a novel use of containers to make apps portable and self-contained. It’s set Linux vendors scrambling, both to to rethink the way containers are implemented in Linux and to see how Linux can be reworked around Docker’s application-centric model.
Co wyróżnia programistę wśród innych? To, że stosuję metodologię SOLID przy tworzeniu aplikacji zorientowanych obiektowo. Termin SOLID wymyślił Robert C Martin w 2000 jako skrót pięciu podstawowych wg. niego zasad programowania obiektowego:
Single Responsilility – obiekt powinien brać na siebie tylko jedną odpowiadzialość,
Open/Close – obiekt powinien być otwarty na rozszerzenia i zamkniety dla modyfikacji,
Liskov Substitiution - obiekt może być zastąpiony instancjami jego podtypów i to nie powinno wpływać na poprawność programu,
Interface Segregation – jeden interfejs ogólnego przeznaczenia powinien być zastąpiony rozdzielnymi interfejsami,
Dependency Inversion – oprzyj kod na abstrakcji (uogólnionemu rozwiązaniu) zamiast konkretnej implementacji
Początek weekend lub jak kto woli koniec tygodnia takie oto przyniósł nowinki:
Pojawiła się dawno oczekiwana, nowa wersja czytnika Nitro PDF wyposażonego w funkcję tworzenia PDF z dokumentów innego formatu bez konieczności przejścia przez sztucznie tworzoną wirtualną drukarkę pdf-ową. Nowa wersja Prezi pozwala również na wczytanie prezentacji w PowerPoint. Eclipse szykuję nowe narzędzie RAP mobile – do tworzenia z kodu w języku Java aplikacji ajaks na różne platformy w tym i mobilne (RAP – rich ajax platform) w oparciu o SWT/JFace. Będą również zastosowane takie technologie jak: Equinox, EMF, Birt, CDO, EclipseLink and Virgo. Wykorzystano także narzędzie to wizualngo tworzenia aplikacji – http://eclipse.org/windowbuilder/. Strona do ściągnięcia wersji preview – http://rapmobile.eclipsesource.com/ – właśnie się zapisałem jako tester. Wszystko o Eclipse – http://www.ibm.com/developerworks/opensource/top-projects/eclipse/index.html. Źle się dzieje, że W3C opanowały osoby z firm Google i Apple (patrzcie, tu współpracują a są zaciekłymi rywalami) i zdominowały rozwój standardów pod kątem silnika WebKit (nawet Adobe przeszło na niego). Pokrzywdzeni to Mozilla, Microsoft (który w końcu dołączył do prac na standardami w W3C) oraz Opera – czy powtórzy się taka sama sytuacja jak przed laty z IE6, który zdominował inne przeglądarki i wprowadził wiele własnych rozwiązań jako “standardów”? (na podstawie CNET)
Dużo się mówi o SVG i HTML 5, tutaj mamy próbkę spojrzenia na te technologie ze strony MS (portal codeguru.pl – CVG, Kurs HTML5, MSDN – Using HTML5 Canvas for Data Visualization) i IBM (Scalable Vector Graphics in HTML5).
Dużo mówi się o nowych językach programowania choćby wspomnieć o Dart (firmowana przez Google odmiana JS), podczas gdy stare są wciąż niedoceniane. Tak jest w przypadku Haskell’a. Jego ciekawe cechy zostały opisane na stronie tutaj gdzie opisano nawet framework do pracy z tym językiem. Jak widać tu jak i w przypadki innych wschodzących języków (np. Ruby ma RoR) liczy się nie tyle język ile infrastruktura wokół niego jak biblioteki, frameworki czy inne narzędzia wspomagające.
Innym, pomocnym narzędziem a na dodatek agnostycznym względem języka jest Cloud9 IDE – http://c9.io/. Jak nazwa wskazuje jest to narzędzie – edytor do tworzenia oprogramowania w różnych językach. Dla projektów open-source jest ono darmowe. W dużej mierze to IDE wspiera node.js. Do języka node.js (serwerowej odmiany JS jest niezły tutorial – http://nodemanual.org/latest/nodejs_dev_guide/creating_http_requests.html). Uwaga Cloud9 IDE nie lubi IE8!.
Świetna strona FAQ o Javie na temat rozszerzenia SWT na potrzeby Eclipse – http://www.eclipse.org/swt/faq.php#howusewebkit (a tam jak uruchomić w oknie przeglądarkę dowolnego rodzaju np. WebKit). Strona z widget-ami – http://www.eclipse.org/swt/widgets/, i z kawałkami (snippet – skrawek) przykładowych kodów – http://www.eclipse.org/swt/snippets/ . Dywagacje na temat menadzerów układów – http://www.eclipse.org/articles/article.php?file=Article-Understanding-Layouts/index.html. Ale uwaga odwieczny partner IBM firma Oracle mówi o zaprzestaniu wspierania JSR- . Zamiast tego proponuje własne rozszerzenie do tworzenia interfejsu GUI – to jest chore, najpierw był AWT, potem SWT, dalej Eclipse wymyślił swoją zabawkę, a na koniec Oracle kupił Sun-a i przebił wszystkich swoim własnym wynalazkiem (do zobaczenia w ich RAD-zie rywalu Eclipse – NETBEANS 7.1). SAP w CR postawił na rozwój w Javie (Eclipse a co za tym idzie w SWT) co teraz ma zrobić skoro ich odwieczny wróg – Oracle rozwija inną bibliotekę GUI?
Ciekawe strony dla deweloperów w C# – dotnetkicks. Bardzo ciekawy traktat o roli i wykorzystaniu INTERFACE w C# – “I, interface”. Doskonała analiza ORM (kiedy go używać) i lekkie alternatywy jak ActiveRecord oraz Typed Data Sets (TDS) – “Do you really need ORD?”.
SAP wyróżnia grupę technologii tzw. wbudowanych (embeded), które pozwalają na wykorzystanie silnika CR we własnych aplikacjach napisanych w dwóch “jedynie słusznych technologiach” :
Ale jest jeden “haczyk” – należy wykupić licencję na wykorzystywanie komercyjne silnika CR – SAP Crystal Reports runtime server license. A to już nie jest za darmo. Dodatkowo niepokój budzi zdanie “Visual Studio 2005 and Visual Studio 2008 – Requests to the runtime engine that exceed the throughput limitations will queue until a thread becomes available to process it” – co wg. mnie tłumaczy się jako aluzja, że w razie zbyt dużego wykorzystania silnika serwera raportowego może nastąpić zatrzymanie przyjmowania kolejnych zgłoszeń o wykonanie raportu i ich kolejkowanie aż poprzednie się nie skończą. W przypadku naszego rozwiązania dla naszego strategicznego klienta ze starszym silnikiem (który generuje chamsko wyjątek w przypadku osiągnięcia max. przepustowości) nie mieliśmy problemu – może limit ilości równolegle wykonywanych raportów (wątków) nie został jeszcze osiągnięty? Bardzo pouczające porównanie między pełną wersją CR 2008 a CR dla VS2010. Czego brakuje (wg. mnie najbardziej): natywnych (czyli szybszych) sterowników do baz, tzw. enhanced Web Services data driver.