40. public interface TenantContext{
public String getTenantID();
public String getTenantName();
public void setProperty(String name,
String value);
public String getProperty(String name);
public Map<String, String> getProperties();
}
マルチテナンシー対応 - インタフェース
68. public class Foodservice {
@RetryPolicy(delayPeriod=10 unit=SECOND, numRetries=1)
@CircuitBreaker(fallbackMethod=
“getBooksByAuthorFallBack”)
@BulkHeadPolicy(threadCount=5)
public Collection<BooK> getBooksByAuthor(
String authorName){…}
public Collection<Book> getBookdsByAuthorsFallBack(){…}
}
69. 項目 利用する機能(サービス)
設定管理 Spring Cloud Config + Bus
サービスの登録・発見 Netflix Eureka
ロードバランサ Netflix Ribbon
サーキット・ブレーカー Netflix Hystrix + Turbine
Proxy Server Netflix Zuul
認証 Spring Cloud Security
70. • API Gateway
• Service Registry / Service Discovery
• Circuit Breaker
• Polyglot Persistence
• Command Query Responsibility Segregation (CQRS)
• Tolerant Reader
• Chained Services
• Asynchronous Messaging
• Service Instantiation
• Consumer-Driven Contracts
• Domain Events
76. public interface KVStore<V>
extends CROUDStore<ID<String>, V>{
void persist(ID<String> key, V value);
}
public interface KVCacheStore<V>
extends KVStore<V>{
void persist(ID<String> key, V value, long expires);
void expire(ID<string>key, long expires);
}
78. public class UserStoreIntegrationTest{
@Inject UserStore userStore;
public void insertUser(){
final User user = new User();
user.setName(“Jon”);
userStore.persist(user);
List<User> users =
userStore.findUsersByAgeBetween(5,10);
… }
}
79. • API Gateway
• Service Registry / Service Discovery
• Circuit Breaker
• Polyglot Persistence
• Command Query Responsibility Segregation (CQRS)
• Tolerant Reader
• Chained Services
• Asynchronous Messaging
• Service Instantiation
• Consumer-Driven Contracts
• Domain Events
104. • リアクティブ用の包括的な API を提供
• Publish/ Subscriber API
• Publisher で既存のデータ構造(Itterable,Arraysなど)を利用可能
• イベントのストリーム処理用の操作APIを提供
• バックプレッシャーをハンドルするための API を提供
• 改良したエラーハンドリング・メカニズムを提供
• イベント・ストリームの相互運用性
• JDK 9 の Flow API を利用
• 他のリアクティブ実装もプラグイン可能
Java SE 9 のリアクティブ対応
105. 参考情報 (私がつけた優先順)
セッション番号 タイトル
CON7976 Java EE 8 Update
CON7975 Enterprise Java for the Cloud
CON8292 Portable Cloud ApplicaHons with Java EE
CON7983 JAX-RS 2.1 for Java EE 8
CON7977 Java EE Next – HTTP/2 and REST
CON7980 Servlet 4.0: Status Update and HTTP/2
CON7979 Configuration for Java EE 8 and the Cloud
CON7978 Security for Java EE 8 and the Cloud
CON1558 What's New in the Java API for JSON Binding
CON4022 CDI 2.0 Is Coming
CON7981 JSF 2.3
BOF7984 Java EE for the Cloud
106. Java EE 8 の動画
https://www.youtube.com/watch?v=Th9faGLhQoM
Java EE 9 の動画
1. Enterprise Java for the Cloud
https://www.youtube.com/watch?v=t7miysQP7Dg
2. Portable Cloud Applications with Java EE
https://www.youtube.com/watch?v=nCqVSf5v37s
MicroProfile のイベント動画
https://www.youtube.com/watch?v=6emPnRChsEE
発表資料
http://www.slideshare.net/rayploski/microprofile-panel-sept-2016
参考情報