Inside jcp


Published on

Inside JCP

Published in: Technology, News & Politics
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Inside jcp

  1. 1. Inside JCP Java Community Process and JSRs JUG Chennai & JCP JSR – 331
  2. 2. About me <ul><li>JUG Chennai Lead </li></ul><ul><li>Project Lead in Logica </li></ul><ul><li>Java developer since 1999 </li></ul><ul><li>Areas: ERP, EIP, Manufacture, Design, Testing, Build, Deployment/Release, Service Delivery </li></ul><ul><li>Contribution: FXObjects, WeaverFX Build Tool, JSR 331 </li></ul><ul><li>Currently brewing: JVM Languages, JavaFX, Glassfish, OSGi, Eclipse, Build, JSR 331 </li></ul>
  3. 4. Ecosystem
  4. 9.
  5. 10. One ring to rule them all, one ring to find them, One ring to bring them all and in the darkness bind them .
  6. 12. About JCP <ul><li>Established in 1998 </li></ul><ul><li>  A control center for developing standard technical specifications for Java technology. </li></ul><ul><li>Manages JSR lifecycle. The core output of the JCP </li></ul>
  7. 13. About Java Specification Request <ul><li>A single version of a Java Specification. </li></ul><ul><li>Lead by a single leader called Spec Lead who forms and manages a Expert Group (The team who helping on the specification) </li></ul>
  8. 14. Artifacts of JSR <ul><li>Specification </li></ul><ul><ul><li>Detail document talks about the Spec. The real idea </li></ul></ul><ul><li>Reference Implementation (RI) </li></ul><ul><ul><li>Complete implementation of the spec. By product of the idea </li></ul></ul><ul><li>Technology Compatibility Kit (TCK) </li></ul><ul><ul><li>The working examples of the RI against Spec. Proof of the workign </li></ul></ul>
  9. 15. JSR Overall schedule of events
  10. 16. Java Specification Participation Agreement (JSPA) <ul><li>A legal contract between members and Oracle. </li></ul><ul><li>Addresses Intellectual Property (IP) grants and the terms under which the spec, RI, and TCK should be licensed. </li></ul>Governance
  11. 17. JCP 2: Process Document <ul><li>Defines the governance of the organization. </li></ul><ul><li>Defines the processes that are used to submit define, develop, review, approve, and maintain specifications. </li></ul><ul><li>Defines the obligations to produce an RI and TCK, and to </li></ul><ul><li>Define a test challenge process </li></ul>Governance
  12. 18. Organization
  13. 19. Organization Roals <ul><li>JCP Chair </li></ul><ul><ul><li>Leads the organization and manages the PMO. </li></ul></ul><ul><li>Program Management Office (PMO) </li></ul><ul><ul><li>Manages day-to-day operations of the organization. </li></ul></ul><ul><li>Executive Committees </li></ul><ul><ul><li>Define JCP governance, processes, and contractual terms of membership. </li></ul></ul><ul><ul><li>Vote on JSRs at defined stages through the process. </li></ul></ul><ul><li>Expert Groups </li></ul><ul><ul><li>Create JSRs (write the spec, develop the RI and TCK). </li></ul></ul><ul><li>Members </li></ul><ul><ul><li>Review specs, may participate in Expert Groups, vote in </li></ul></ul><ul><ul><li>Executive Committee elections. </li></ul></ul>
  14. 20. Executive Committees <ul><li>Two Executive Committees: </li></ul><ul><ul><li>One for Java ME and one for Java SE and Java EE combined. </li></ul></ul><ul><li>Each EC has 16 members. </li></ul><ul><li>Oracle has a permanent seat on each EC. </li></ul><ul><li>10 of the other 15 seats are ratified by Oracle. </li></ul><ul><ul><li>Oracle nominates a candidate; the entire JCP membership approves via ballot. </li></ul></ul><ul><li>The remaining 5 seats are elected (any JCP member may nominate themselves.) </li></ul><ul><li>Yearly elections reconfirm or replace one-third of the members. </li></ul><ul><li>ECs meet ~monthly by phone, 3 times a year face-to-face. </li></ul><ul><li>EC meeting minutes are public. </li></ul>
  15. 21. Executive Committee responsibilities <ul><li>Review and vote on all JSRs associated with their EC. </li></ul><ul><li>Evolve the JSPA and the Process Document. </li></ul><ul><ul><li>The JSPA and Process Document are modified through the JSR process itself. </li></ul></ul><ul><ul><li>The Executive Committees serve as the Expert Group for JSRs that make these changes; the Chair is the Spec Lead. </li></ul></ul><ul><ul><li>JSR 99 defined the JSPA, JSR 215 defined the Process Doc. </li></ul></ul><ul><ul><li>Two new JSRs to evolve the JSPA and Process Doc will be filed soon ( .) </li></ul></ul><ul><li>Represent their own interests to the JCP and the JCP to the developer and user community. </li></ul><ul><li>Advise the PMO. </li></ul>
  16. 22. Current Executive Committee membership <ul><li>Java ME EC </li></ul><ul><ul><li>– Stefano Andreani, Aplix, AT&T, CableLabs, IBM, Nokia, Oracle, RIM, Samsung, Sean Sheedy, Siemens, SK Telecom, T-Mobile, TOTVS,Vodafone. </li></ul></ul><ul><ul><li>– One vacancy recently filled by a Special Election (Alex Terrazas). </li></ul></ul><ul><li>• Java SE/EE EC </li></ul><ul><ul><li>Credit Suisse, Eclipse, Ericsson, Fujitsu, Google,HP, IBM, Intel, Werner Keil, Oracle, Red Hat, SAP, Vmware. </li></ul></ul><ul><ul><li>Three vacancies recently filled by a Special Election (Goldman Sachs, SouJava, London Java Community). </li></ul></ul>
  17. 23. Spec Lead <ul><li>The individual or institutional owner and driver of a JSR. </li></ul><ul><ul><li>Recruits and organizes the activities of the Expert Group. </li></ul></ul><ul><ul><li>Responsible for delivering the Spec, RI, and TCK. </li></ul></ul><ul><li>Intellectual Property rights to the technology incorporated in the JSR accrue to the Spec Lead. </li></ul><ul><ul><li>Subject to obligations incurred under the JSPA. </li></ul></ul><ul><li>The Spec Lead is free to define the terms under which the RI, and TCK will be licensed. </li></ul><ul><ul><li>Subject to obligations incurred under the JSPA. </li></ul></ul><ul><li>Oracle is the Spec Lead for the three existing Platforms: Java ME, Java SE, and Java EE. </li></ul>
  18. 24. Expert Group <ul><li>The Expert Group is recruited and led by the Spec Lead. </li></ul><ul><ul><li>All members of the JCP are eligible to join. </li></ul></ul><ul><ul><li>Participation by all interested parties is encouraged and desirable. </li></ul></ul><ul><ul><li>The EG works as a team to define the JSR and to develop the Spec, RI, and TCK. </li></ul></ul><ul><li>The EG is free to define its own working style. </li></ul><ul><ul><li>When and how often it meets, how it makes decisions... </li></ul></ul><ul><li>Transparency is strongly encouraged. </li></ul><ul><ul><li>EGs must explain their transparency strategy: </li></ul></ul><ul><li>Public aliases, public issue list, Wikis, blogs... </li></ul><ul><ul><li>EGs must respond publicly to comments. </li></ul></ul>
  19. 25. The membership <ul><li>Anyone who willing to spend their experience and time for the community can join. </li></ul><ul><li>Total membership is approximately 1500. </li></ul><ul><li>• 3700 registered users at (not affliliated with a member). </li></ul>
  20. 26. JCP Update <ul><li>Two JSRs will be filed soon to update the JCP's processes and constitution . </li></ul><ul><ul><li>As defined in the Process Document and JSPA . </li></ul></ul><ul><li> JSR1 will focus on simple changes that can be implemented within about six months. </li></ul><ul><li> JSR 2 will implement more complex changes, including any that require modifying the JSPA. </li></ul><ul><ul><li>This will take 12-18 months to complete. </li></ul></ul><ul><li>Both JSRs will operate transparently. </li></ul><ul><ul><li>Open for observe and give feedback. </li></ul></ul>
  21. 27. JCP and Indians <ul><li>46 members, 129 EG participants, 1218 registered users (includes members). </li></ul><ul><ul><li>Members include JUG Chennai, Pramati Technologies, Tata Consultancy (and Limited), Wipro </li></ul></ul>
  22. 28. JUGChennai & JCP <ul><li>Motivate members to participate in JCP </li></ul><ul><li>Encourage members to reviewing and provide feedback. </li></ul><ul><li>Guide members to join JSRs </li></ul>
  23. 29. To join JUGChennai JCP community… <ul><li>Active Participation in the community (consume & contribute both) </li></ul><ul><li>At least 4 years of experience </li></ul><ul><li>Contributor in any project is a plus! </li></ul><ul><li>Presented at least 2 JSRs (not yet final) in JUG meeting. </li></ul><ul><li>Must follow the JCP JSPA (will be provided once a member is confider.) </li></ul>
  24. 30. JSR 331: Constraint Programming API Spec Lead: Jacob Feldman
  25. 31. Constraint Programming <ul><li>Constraint Programming (CP) is a programming paradigm which provides useful tools to model and efficiently solve constraint satisfaction and optimization problems </li></ul><ul><li>Started in 1980s in the field of AI </li></ul><ul><ul><li>Prolog III </li></ul></ul><ul><ul><li>CLP R , CHIP </li></ul></ul><ul><li>Application of CP </li></ul><ul><ul><li>Scheduling, sequencing, resource and personnel allocation, etc. etc. </li></ul></ul>
  26. 32. JSR – 331 <ul><li>A specification to define a Java runtime API for constraint programming. The CP API prescribes a set of fundamental operations used to define and solve constraint satisfaction and optimization problems. </li></ul>
  27. 33. Concepts <ul><li>CP demarcation  (All concepts revolves around any of these two category) </li></ul><ul><ul><li>Problem Definition – About the ‘Problem’ root for variables and constraints </li></ul></ul><ul><ul><li>Problem Resolution – About the ‘Solver’ to execute different Search strategy called goals to find Solution for problem </li></ul></ul><ul><li>A problem may have multiple solutions that produce different solutions pursuing different objectives. </li></ul>
  28. 34. Concepts.. <ul><li>Problem </li></ul><ul><ul><li>ConstraintedObject  (such as  Var ) </li></ul></ul><ul><ul><li>Constraint </li></ul></ul><ul><li>Solver </li></ul><ul><ul><li>Goal </li></ul></ul><ul><ul><li>Solution </li></ul></ul>
  29. 35. Walkthrough of the JSR-331 <ul><li>JSR Stages </li></ul><ul><li>Specification </li></ul><ul><li>Reference Implementation (RI) (JavaDoc) </li></ul><ul><li>Technology Compatibility Kit (TCK) </li></ul>
  30. 36. References <ul><li>“ JCP: The Future of java” by Heather VanCura </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul>