piątek, lipca 22, 2016

Oracle - kierunek chmura

Oracle w końcu powiedział jak zamierza rozwijać JEE. Oskarżany o brak zainteresowania rozwojem wersji korporacyjnej Javy (wersja 1.8 będzie za rok, może później, spowodował oddolny ruch za wzięciem w swe ręce inicjatywy rozwoju Javy w duchu open-source nawet bez Oracle. Takie plany mieli Gosling oraz Java EE Guardians and MicroProfile.i.

Kierunek rozwoju Javy to przetwarzanie w chmurze i zastosowanie kontenerów. Oficjalnie strategia będzie ogłoszona we wrześniu na konferencji JavaOne w SF.

Nastąpi zwrot od modelu server-based do cloud-based, służby IT korporacji nie będą musiały troszczyć się o zasoby IT potrzebne do uruchomienia i rozwoju swych aplikacji. Dane aplikacji zostaną utrwalone jako para key-value w bazach MoSQL. Aplikacje w chmurze będą działały w trybie multitenant tj. na wspólnej infrastrukturze. JEE 1.8 otrzyma wiele udoskonaleń głównie w zakresie autoryzacji i autentykacji tożsamości - w chmurach publicznych pojawią się nowe modele zabezpieczeń oparte o żetony OAuth i OpenID Connect. Technologia kontenerów (głównie Docker) pozwoli lepiej izolować aplikację w tym współdzielonym środowisku. Wymaga to też rozwinięcia narzędzi do zarządzania konfiguracją.

W zakresie tworzenia aplikacji nastąpi ujednolicenie modelu obsługi zdarzeń (z racji historycznej ewolucji w Javie do tej pory różne warstwy oprogramowania używały różnych modelów zdarzeń). Planuje się ujednolicenie tych modeli w jeden tzw. react (patrz implementację w JS - framework React). Jest to wymóg dla aplikacji rozproszonych dużej skali, budowanych asynchronicznie, luźno ze sobą powiązanych i opartych na modelu zdarzeniowym.

Planuje się także wykorzystanie nowego protokołu HTTP/2 oraz mikroserwisów; tutaj mały zgrzyt IBM i Red Hat nie czekając na Oracle same zgłosiły poprzez organizację microprofile.io propozycję standardu micro service dla JEE (opartej o JAX-RS, CDI, and JSON-P). Oracle obiecał wypracowanie wspólnego standardu.

Prace na ulepszeniem implementacji HTML5 i HTTP 2.0 będą odbywać się tradycyjnie w ramach JSR.


niedziela, lipca 17, 2016

Trochę Javy i inne tematy

  1. Pięknie o kodzie w stylu ZEN - http://thecodelesscode.com/contents - i tworzeniu oporgramowania
  2. Za darmo e-booki z Java. Książki do nauki Javy - http://www.java67.com/2013/11/10-free-java-programing-books-download-PDF-HTML.html
  3. Najdziwniejsze języki programowania - http://blog.fogus.me/2011/10/18/programming-language-development-the-past-5-years/ 
  4. Niesamowite projekty java (.NET też tam gdzieś jest) - https://github.com/akullpp/awesome-java 
  5. Znany od lat pedagog uczący Javy i C++ http://www.dickbaldwin.com/toc.htm

czwartek, lipca 14, 2016

Znowu o tej Javie

  1. Biblioteki do Java od Google - https://www.javacodegeeks.com/2016/07/forget-guava-5-google-libraries-java-developers-know.html
  2. Java + najbardziej popularne biblioteki (na podstawie analizy Github) - https://www.javacodegeeks.com/2016/05/top-100-java-libraries-2016-analyzing-47251-dependencies.html 
  3. Np. wsparcie dla JSON-a:
    1. fasterxml.jackson.core.jackson-databind 
    2. #19 – google.code.gson.gson 
    3. #43 – json.json 
    4. #80 – googlecode.json-simple.json-simple 
    5. #89 – thoughtworks.xstream.xstream 
    6.  CURL - bardzo ciekawe zastosowania tego polecenia - https://www.systemcodegeeks.com/shell-scripting/bash/linux-curl-example/ - dodawanie nagłówków, wysyłanie formularza, autentykacja bazowa (przeglądarki) 

Aplikacje mobilne, różne implementacje

  1. Push dla JS (node.js) - http://nickersoft.github.io/push.js/
  2. Android/Cordova - skanowanie kodów QR - https://www.sitepoint.com/scanning-qr-code-cordova/
  3. CodeWalk/Intel - ich wersja studia do tworzenia hybryd - https://software.intel.com/en-us/intel-xdk/details, ich zasoby - https://software.intel.com/en-us/xdk/docs/using-the-build-tab#buildcordovaapps
  4. Android jak zacząć pisać oprogramowanie - https://examples.javacodegeeks.com/android/android-tutorial-beginners-with-examples/
  5. Architektura. Powstaje nowy model przetwarzania - bezserwerowe - http://martinfowler.com/articles/serverless.html#benefits (wykorzystuje API własne i stron trzecich)
  6. Jak stworzyć aplikację mobilną na AZURE - https://dzone.com/articles/creating-a-mobile-app-using-azure-services
  7. Typy aplikacji mobilnych - https://dzone.com/articles/hybrid-or-native-mobile-app-use-the-right-tool-for
  8. https://dzone.com/articles/ionic-how-to-access-or-browse-sqlite-database-byte
  9. Jak wygląda życie web-developera: https://www.webcodegeeks.com/web-development/become-web-developer/?utm_content=buffer1b75a&utm_medium=social&utm_source=plus.google.com&utm_campaign=buffer 
  10. Autentykacja JWT w Ionic - http://grossman.io

Java i pokrewne tematy

  1. Poezja o kodowaniu - http://thecodelesscode.com/case/228 - ciekawa pozycja, piękna angielszczyzna, opis różnych technik tworzenia oprogramowania na wzór mnichów Zen
  2.  Podstawy jUnit - http://javastart.pl/static/efektywne-programowanie/junit/ - testy jednostkowe. Inna publikacja na ten temat, bardzo głęboko rozważona  -  https://www.javacodegeeks.com/2014/11/junit-tutorial-unit-testing.html?utm_content=buffer09f2b&utm_medium=social&utm_source=plus.google.com&utm_campaign=buffer. Tutaj jeszcze teoria annotacji - https://www.javacodegeeks.com/2014/11/java-annotations-tutorial.html?utm_content=buffer412e8&utm_medium=social&utm_source=plus.google.com&utm_campaign=buffer 
  3. Architektura. Powstaje nowy model przetwarzania - bezserwerowe - http://martinfowler.com/articles/serverless.html#benefits (wykorzystuje API własne i stron trzecich)

poniedziałek, marca 14, 2016

Wreszcie coś nowego

Powrót z przeszłości:

  1. Prawo Demeter - zasady namniejszej wiedzy - http://javarevisited.blogspot.com/2014/05/law-of-demeter-example-in-java.html. Tam też są odnośniki do innych materiałów na temat zasad i wzorców programowania w Javie
  2. Wątki, komunikacja między nimi w Javie - http://javarevisited.blogspot.sg/2013/12/inter-thread-communication-in-java-wait-notify-example.html