上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

2019年Jakarta EE和MicroProfile的明天会怎样.pdf

编号:97457 PDF 49页 3.23MB 下载积分:VIP专享
下载报告请您先登录!

2019年Jakarta EE和MicroProfile的明天会怎样.pdf

1、1Jakarta EE 和和 MicroProfile 的明天会怎样?的明天会怎样?Emily JiangLiberty Lead Architect for CDI,MicroProfileJava ChampionemilyfhjiangEmail:3About Emily3Java ChampionSTSM,IBM,Liberty Lead Architect for MicroProfile and CDILeads MicroProfile Config,Fault Tolerance,Service MeshCo-spec lead for Config JSRCDI Expert

2、 GroupBased in IBMs Hursley lab,UKEmily JiangemilyfhjiangEmail:4IT evolution5Agile&DevOps&Cloud&Microservices+service Cservice Bservice A6Cloud is the future Small runtime memory footprint Small deployment sizes Fast starting applications No resource usage when idle7cloud-native microservice 1.RESTf

3、ul like cattle not pet,communicative2.Configurable3.Fault tolerance4.Can be discovered5.Secure6.Traceable,monitorable7.Able to communicate with the cloud infrastructure8Java EEs too slow and bloated,right?https:/ can we help?9What can we do to advance microservice development in the Enterprise Java

4、space?-Java EE Community,early 201610Community DrivenLightweight,Iterative ProcessesSpecs,APIs,TCKsNO Reference Implementation11JavaOne 201611CDI 1.2JAX-RS 2.0JSON-P 1.0MicroProfile 1.0 Announced!Basic Building Blocks for Microservices12CDI 2.0Fast-forward two years.12JAX-RS 2.1JSON-P 1.1MicroProfil

5、e 2.2JSON-B 1.0Fault Tolerance 2.0Metrics 1.1JWT Propagation 1.1Health Check 1.0Open Tracing 1.3Open API 1.1Rest Client 1.2Config 1.321 Component Releases!8 Platform Releases!MicroProfile2.213 Open specifications Wide vendor support REST services OpenAPI support Security Fault Tolerance Configuratio

6、n Metrics Health Open Tracinghttps:/wiki.eclipse.org/MicroProfile/ImplementationQuarkus1414MicroProfile 1.0(Fall 2016)jaxrs-2.0cdi-1.2jsonp-1.0MicroProfile 1.1(August 2017)microProfile-1.0mpConfig-1.0MicroProfile 1.2(Sept 2017)microProfile-1.1mpConfig-1.1mpFaultTolerance-1.0mpHealth-1.0mpMetrics-1.0

7、mpJwt-1.020172018MicroProfile 1.3(Dec 2017)MicroProfile 1.2mpConfig-1.2mpMetrics-1.1mpOpenApi-1.0mpOpenTracing-1.0mpRestClient-1.0MicroProfile 1.4(June 2018)MicroProfile 1.3mpConfig-1.3mpFaultTolerance-1.1mpJwt-1.1mpOpenTracing-1.1mpRestClient-1.12019MicroProfile 2.0.1(July 2018)MicroProfile 1.4jaxr

8、s-2.1 /Java EE 8cdi-2.0 /Java EE 8jsonp-1.1 /Java EE 8jsonb-1.0 /Java EE 8MicroProfile 2.1(Oct 2018)MicroProfile 2.0mpOpenTracing-1.2MicroProfile 2.2(Feb 2019)Fault Tolerance 2.0OpenAPI 1.1OpenTracing 1.3Rest Client 1.2Jan19.0.0.219.0.0.119.0.0.315Theres a good chance youll use REST APIs16Eclipse Mi

9、croProfileJAX-RSJSON-PCDIRest ClientJSON-Bmicroprofile.io17JAX-RSBApplicationPath(System)public class SystemApplication extends Application Path(properties)public class PropertiesResource GETProduces(MediaType.APPLICATION_JSON)public JsonObject getProperties()18MicroProfile REST ClientBAInjectRestCl

10、ientprivate SystemClient defaultRestClient;DependentRegisterRestClientRegisterProvider(UnknownUrlExceptionMapper.class)Path(/properties)public interface SystemClient GETProduces(MediaType.APPLICATION_JSON)public Properties getProperties()throws UnknownUrlException,ProcessingException;io.openliberty.

11、guides.inventory.client.SystemClient/mp-rest/url=http:/localhost:9080/system19CDI Contexts Dependency InjectionBApublic class InventoryManager Injectprivate SystemClient systemClient;Equivalent to Spring InjectionAutowired20JSON-B&JSON-PAB.GETProduces(MediaType.APPLICATION_JSON)public InventoryList

12、listContents()return manager.list();public class InventoryList private List systems;public InventoryList(List systems)this.systems=systems;public List getSystems()return systems;public int getTotal()return systems.size();21Handling 100s of collaborating and frequently evolving services requires new

13、APIs22Eclipse MicroProfileJAX-RSJSON-PCDIConfigFaultToleranceJWT Propagation Open APIRest ClientJSON-Bmicroprofile.io23MicroProfile OpenAPIABopenapi:3.0.0 info:title:Inventory App description:App for storing JVM system properties of various hosts.license:name:Eclipse Public License-v 1.0 url:https:/

14、www.eclipse.org/legal/epl-v10.html version:1.0 servers:-url:http:/localhost:port description:Simple Open Liberty.variables:port:description:Server HTTP port.default:9080 paths:/inventory/systems:get:summary:List inventory contents.description:Returns the currently stored host:properties pairs in the

15、 inventory.operationId:listContentsresponses:200:description:host:properties pairs stored in the inventory.content:application/json:schema:$ref:#/components/schemas/InventoryListhttp:/localhost:9080/openapi/uiGETProduces(MediaType.APPLICATION_JSON)APIResponse(responseCode=200,description=host:proper

16、ties pairs stored in the inventory.,content=Content(mediaType=application/json,schema=Schema(type=SchemaType.OBJECT,implementation=InventoryList.class)Operation(summary=List inventory contents.,description=Returns the stored host:properties pairs.)public InventoryList listContents()return manager.li

17、st();24MicroProfile JWTABGETRolesAllowed(admin,user)Path(hostname)Produces(MediaType.APPLICATION_JSON)public Response getPropertiesForHost(PathParam(hostname)String hostname,Context HttpHeaders httpHeaders)25MicroProfile Fault ToleranceABFallback(fallbackMethod=fallbackForGet)public Properties get(S

18、tring hostname)throws IOException return invUtils.getProperties(hostname);26AMicroProfile ConfigBInjectConfigProperty(name=io_openliberty_guides_inventory_inMaintenance)private Provider inMaintenance;config_ordinal=100 io_openliberty_guides_inventory_inMaintenance=false config_ordinal:150,io_openlib

19、erty_guides_inventory_inMaintenance:true27Handling 100s of collaborating services requires a strong operations focus28Eclipse MicroProfileHealth CheckMetricsOpen Tracingmicroprofile.ioJAX-RSJSON-PCDIConfigFaultToleranceJWT Propagation Open APIRest ClientJSON-B29MicroProfile HealthABHealthApplication

20、Scopedpublic class InventoryResource implements HealthCheck.public boolean isHealthy().Overridepublic HealthCheckResponse call()if(!isHealthy()return HealthCheckResponse.named(“InventoryResource”).withData().down().build();return HealthCheckResponse.named(“InventoryResource”).withData().up().build()

21、;30MicroProfile MetricsABTimed(name=inventoryPropertiesRequestTime,absolute=true,description=Time needed to get the properties of+a system from the given hostname)public Properties get(String hostname)return invUtils.getProperties(hostname);31MicroProfile OpenTracingABTraced(value=true,operationName

22、=InventoryManager.list)public InventoryList list()return new InventoryList(systems);JAX-RS methods are automatically traced by default32How to get started?32https:/openliberty.io/guideshttps:/start.microprofile.io33MeanwhileJakarta EE vs Java EE Compare and Contrast Content,Processes,Pa

23、rticipants,Deliverables,etcThink 2019/Session 2138/February 15,2019/2019 IBM Corporation3435Roadmap Moving material from Oracle to Eclipse Java EE 8 Specifications Java EE 8 APIs Java EE 8 RIs Java EE 8 TCKs3536Java EE 8Oracle GlassFish 5.0Java EE 8Jakarta EE 836Sources,TCKs,DocsWe are getting close

24、r to Jakarta EE.Eclipse GlassFish 5.1Eclipse GlassFish 5.2Jakarta EE 9Eclipse GlassFish 5.XCommunity-Driven Innovation with new specs!29-JAN-1937RoadmapThink 2019/Session 2138/February 15,2019/2019 IBM Corporation37https:/www.eclipse.org/ee4j/status.php20%-Project Proposed40%-Project Accepted and Pr

25、ovisioned60%-Initial Code Contribution to Eclipse80%-Build/Test in Github and Jenkins100%-Project has First Release!*As of Feb 06,201938Jakarta EE 8=Java EE 81.Eclipse Glassfish 5.1 is Java EE 8 compliant using existing Java EE 8 CTS/TCKhttp:/ Compatible Implementations will be Jakarta EE 8 complian

26、t using Jakarta EE 8 CTS/TCK Process Compliance Testing838Jan 29,2019!39Licensing Oracle Usage License(CDDL,GPL v2)Specs,APIs,RIs No TCKs available for testing!Commercial License(TLDA,TCK,TM)Access to TCKs for compliance testing Access to Java EE brand Eclipse FoundationUsage License(EPL v2*)Specs,A

27、PIs,RIs,and TCKs!https:/ License(none)Access to Jakarta EE brand(TM license)39*(Secondary)GNU General Public License,version 2 with the GNU Classpath Exception40TCK is now open sourced!Transparencyinsight into teststhe community participation Opennessgreater pool of contributorsequal opportunity wit

28、h established process and governance Shared burdenspread responsibility for building and maintaining the TCKsno dependency on a single organization or group Vendor neutrality and continuitycontinuity in the case single entity reduces their investment.What does it mean?4041JSR Eclipse Foundation Spec

29、ification ProcessThe JSR(for Java EE)will be replaced by the Eclipse Foundation Specification ProcessNote:The JSR as a specification document is not going away.It still exists,but its focus is now mainly with Java SE.Any specification moved to Eclipse.Once updated,the namespace needs to be updated t

30、o jakarta.*instead of using javax.*Eclipse Foundation Specification ProcessVersion 1.0 was defined by the Jakarta EE Specification Committeehttps:/www.eclipse.org/projects/efsp/Covers many aspects Specifications,APIs,Implementations,TCKs,Licensing,and Brandinghttps:/accounts.eclipse.org/mailing-list

31、/jakarta.ee-spec42JCP vs.EFSPSpecification FirstLed by Specification LeadDocuments and TCKs are closed sourceOne normative“Reference Implementation”Oracle certification process Code FirstCollaborativeDocuments and TCKs are open sourceOne or more“Compatible Implementations”Self certification43Jakarta

32、 EE Community43Think 2019/Session 2138/February 15,2019/2019 IBM Corporation44MicroProfile Community4445Both Communities45Think 2019/Session 2138/February 15,2019/2019 IBM Corporation4646Think 2019/Session 2138/February 15,2019/2019 IBM Corporation47Powerful together 48And get involved with51Jakarta EE 和和 MicroProfile 的明天会更好!的明天会更好!52Thank you!

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(2019年Jakarta EE和MicroProfile的明天会怎样.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部