Java與雲端運算-課程介紹

Java與端運算

「Write once,run everywhere.」是Java的理想,也是現實,雲端運算當然也離不開Java。

天上飄的「雲」

Server端的Java應用不必多說,到處都是。Java EE早就已經普遍為業界所接受,Java EE Application Server與WebContainer,隨著通過認證的廠商越來越多,導入的速度相信也不會太慢。每年美國的JavaOne大會,有許多場次都在介紹JavaEE與Cloud。

前兩年Java People如果想到雲端喝杯咖啡,Google App Engine跟Apache Hadoop,應該是最方便的天梯。Google App Engine可以把現有Java開發的Web應用程式放上雲端,Apache Hadoop可以透過MapReduce平行處理大量資料。現在,Java PaaS的戰場除了Heroku與OpenShift之外,又多了像CloudBees與Azure這些競爭對手。Heroku在Ruby/Rails界一直很出名,也支援Java。

OpenShift是 Red Hat/JBoss推出的的平台,除了JBoss拿手的Java之外,Ruby/PHP/Python 全部一網打盡。CloudBees知名度雖然不夠高,但是卻提供的一個極方便、支援標準規格的平台。即使是Microsoft的Azure平台,也提供Java支援喔!

地上跑的「端」

Mobile這個領域,不管是Smartphone、Tablet、Embedded System、Car PC,到處都可以看到Android作業系統。Android上面的應用程式,是用Java開發的,這對我們Java People來說,真是太方便了。把Data 放在Cloud,App 放在Client,到處都可以存取。很多人其實現在就是這個樣子,不管在家裡、在捷運、在公司,都可以透過手機或平板聽音樂、看電影、讀電子書。只要網路會通,一切都通了!

不管是Mobile或是Cloud,其實都是Internet應用,大家都在Web平台上發揮各自的創意與想像力。這兩年的Web技術,也因為Mobile與Cloud的刺激,而加快了變動的腳步。Web開發不只要炫要快,還要能夠兼顧到桌面17吋以上的LCD,與手機那小小的4吋高解析Retina Display。因為在原生的Mobile App出現之前,同時支援桌面應用與行動應用的設計是必須達到的要求與當務之急。

因應Mobile Web App這樣的想法,Java People也必須成長,所以我們也為大家規劃了一系列課程,HTML、CSS、與JavaScript這三個Web領域的MVC主角當然不能缺席:除了當紅的HTML5與CSS3之外,還有最近很熱門的Node.js,以及jQuery Mobile。HTML5的Video、Audio、Canvas、WebSocket、WebWorker、Local Storage一大堆列都列不完的新功能,有一些網站已經開始使用,不會就真的落伍了。CSS雖然寫起來很累,但是終於有Sass與Compass這些Framework可以幫我們解套,寫CSS就像寫程式一樣。JavaScript不只用在Client端,Server端一樣可以,每天都有人用Node.js開發出新花樣。jQueryMobile把觸角從雄霸一方的Web再次伸向Mobile領域,沒有人敢忽視它的潛力。

結合兩者的「運」

雲跟端的整合運用,最主要靠的就是TCP/IP通訊協定,更精準的說就是HTTP。所以,Web Services是我們最重要的橋樑。SOAP Web Service還是一樣熱門,但是因為要堆比較厚的Technology Stack,相較起來輕薄短小的RESTful Web Services更適合用在雲端時代,因為對端的需求更低,對Platform與Language的要求更少,這一年來詢問RESTful架構與結合Facebook/Plurk相關應用的客戶也漸漸多了起來。

另外一個則是身分驗證的問題,因為不太可能要求每個客戶都去註冊各個服務,所以利用現有Facebook/Twitter/Plurk帳號來做登入,便是最方便的選擇,在系統中提供OAuth的支援也就越發來的重要。

天天要用的「算」

Oracle 在2011年7月對外公布了Java SE7,強化了Java在Concurrent Programming、Dynamic Language、與I/O方面的支援。不僅增加了新功能,也證明Oracle有能力繼續讓Java往前走下去。Java SE8也已經推出,最令人期待的應該就是Lambda/Closure新語法。

 Java EE以Tomcat為基礎,加上CDI等其他功能,Apache現在又多了一個通過認證的TomEE。JBo???認證沒多久,JBoss AS7就跟著推出。GlassFish也沒閒著, 支援Java EE7與HTML5的GlassFish 4.0版也正式上市。整個Open Source Application Server的市場簡直就是一場大亂鬥。

Web Framework就單純多了。老牌的Struts逐漸退出江湖,取而代之的主力是Spring MVC與Struts2。Spring MVC挾著Spring席捲Java界的氣勢,在許多企業內部佔有導入的優勢,Struts2也有一群死忠的擁護者鼓吹。雖然Ruby on Rails前幾年引發一陣快速開發的風潮,但是Java版的Groovy與Grails似乎沒有太吸引我們的目光。現在輕量化的Play Framework似乎有點機會,加上Heroku雲端運算平台的拉抬,不知道會不會成功。

Persistence Layer的話,Hibernate 4雖然已經推出,但大家還是習慣用 Hibernate3。倒是JPA1.0深獲好評之後,Java EE6的JPA2.0與Java EE7的JPA2.1又陸續補強了許多新功能。這兩年不知道為什麼,到了雲端之後大家的資料量瞬間就大了起來,處理Big Data的需求也越來越高,Cassandra與MongoDB這一類的NoSQL也就越來越多人使用,也期待Java對NoSQL的支援能夠越來越好。

至於最吸引人的View,JSP一直都還是Java People必須要會的技能,透過SiteMesh之類的方式來組版型,頁面不夠炫的部份就拼命地用jQuery跟這些JavaScript Library來撐。JSF2.0雖然大幅簡化了開發的難度,也提供很多現成的Component Suite,但是跟JSP比起來,感覺上效能依舊是個問題。

大家缺的「服務」

這些技術,你可以不會嗎?

當企業愈來愈追求效率,時間就是一個大家都在搶的重要資源:大家要在更短的時間內學會更多的技術,我們則是要在更短的時間內提供高度客製化的教育訓練。如果基本功夫紮根不夠深、教材開發能力不夠強、技術層面涵蓋不夠廣,是沒有辦法提供像這樣的全面性包班訓練服務的!總而言之一句話,只要你想學Java,或是要客製化的包班服務,找資策會準沒錯!

 

Java動態網頁與資料庫應用程式設計師精修班

Java動態網頁與資料庫應用程式設計師精修班

資策會一流師資 + 學費優待

一個IT領域的從業人員,如果想要對Java有一定程度的瞭解的話,應該具備哪些知識?換句話說,如果你是一個想要踏入Java這個領域的學員,你至少應該上過哪些課程?

下面這些課程如果都搞懂了,對於基本的Java程式與動態網頁架構就有一定的掌握能力,這也是「Java動態網頁與資料庫應用程式設計師精修班」的設計目標。

Java程式設計實力精修班

Java程式設計實力精修班

Java程式語言是學好一切Java技術的基礎,基礎不打好,後續的技術學起來就會事倍功半。

本課程的設計理念,就在於以更充裕的時間,為想要踏入Java領域的入門新手,奠定更扎實的基礎。不只是學好Java程式語言,更希望能夠具備取得SCJP認證的實力。