突破极限–如何将AeroGear Unified Push用于Java EE和Node.js
在2014年底的AeroGear隊宣布紅帽的JBoss統一推送服務器的可用性xPaaS 。 讓我們仔細看看!
總覽
統一推送服務器允許開發人員將本地推送消息發送到Apple的推送通知服務(APNS)和Google的云消息傳遞(GCM)。 它具有一個內置的管理控制臺,使開發人員可以輕松地為任何移動開發環境創建和管理與應用程序的推送相關的方面。 包括客戶端SDK(iOS,Android和Cordova)以及具有可用Java發送器庫的基于REST的發送器服務。 下圖顯示了Unified Push Server如何使應用程序向Apple的Push Notification Service(APNS)和Google的Cloud Messaging(GCM)發送本機推送消息:
建筑
xPaaS產品部署在托管的EAP容器中,而服務器本身基于標準的Java EE API,例如:
- JAX-RS
- EJB
- CDI
- JPA
另一個關鍵組件是Keycloak ,用于用戶管理和身份驗證。 Unified Push Server的核心是其公共RESTful端點 。 這些服務是所有移動設備以及第三方業務應用程序的條目,當它們想要發布要發送到已在服務器上注冊的移動設備的推送通知時。
后端整合
基于JAX-RS標準,使得與任何后端平臺的集成非常容易。 它只需要說HTTP ...
Java EE
該項目具有Java庫 ,可從任何基于Java的后端發送推送通知請求。 流利的生成器API用于設置與所需的Unified Push Server的集成,借助CDI,我們可以將其提取到一個非常簡單的工廠中:
@Produces public PushSender setup() {PushSender defaultPushSender = DefaultPushSender.withRootServerURL("http://localhost:8080/ag-push").pushApplicationId("c7fc6525-5506-4ca9-9cf1-55cc261ddb9c").masterSecret("8b2f43a9-23c8-44fe-bee9-d6b0af9e316b").build(); }接下來,我們需要將“ PushSender”注入到Java類中,該類負責向統一推送服務器發送推送請求:
@Inject private PushSender sender; ... public void sendPushNotificationRequest() {...UnifiedMessage unifiedMessage....;sender.send(unifiedMessage); }UnifiedMessage的API也利用了構建器模式:
UnifiedMessage unifiedMessage = UnifiedMessage.withMessage().alert("Hello from Java Sender API!").sound("default").userData("foo-key", "foo-value")....build();Node.js
成為穩定的服務器并不會將集成限制到Java EE等傳統平臺。 AeroGear還具有Node.js庫 。 下面是一個簡短的示例,說明如何從基于Node.js的后端發送推送通知:
// setup the integration with the desired Unified Push Server var agSender = require( "unifiedpush-node-sender" ),settings = {url: "http://localhost:8080/ag-push",applicationId: "c7fc6525-5506-4ca9-9cf1-55cc261ddb9c",masterSecret: "8b2f43a9-23c8-44fe-bee9-d6b0af9e316b"};// build the push notification payload: message = {alert: "Hello from Node.js Sender API!",sound: "default",userData: {foo-key: "foo-value"} };// send it to the server: agSender.Sender( settings ).send( message, options ).on( "success", function( response ) {console.log( "success called", response ); });下一步是什么 ?
xPaaS上的Unified Push Server 目前正在支持Android和iOS,但AeroGear團隊正在尋求為更多移動平臺增強服務。 社區項目當前支持以下平臺:
- 安卓系統
- Chrome打包應用
- 的iOS
- SimplePush / Firefox操作系統
- 視窗
計劃增加對Safari瀏覽器和Amazon的設備消息傳遞(ADM)的支持 。
入門要查看運行中的Unified Push Server,請查看以下視頻:
xPaaS發行版附帶針對Android,iOS和Apache Cordova客戶端的不同演示,以及基于Java EE的后端演示。 您可以在此處找到下載內容 。
可以在Unified Push主頁上找到更多信息。
您可以通過IRC或電子郵件與AeroGer團隊聯系。
玩得開心,享受!
翻譯自: https://www.javacodegeeks.com/2015/01/pushing-the-limits-howto-use-aerogear-unified-push-for-java-ee-and-node-js.html
總結
以上是生活随笔為你收集整理的突破极限–如何将AeroGear Unified Push用于Java EE和Node.js的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑放偏振3d电影(放映机3d偏振镜片)
- 下一篇: 针对WildFly和EAP运行Java