Difference between revisions of "User:Michael.obrien.oracle.com"

From Eclipsepedia

Jump to: navigation, search
m (Experimental)
m (References)
 
(42 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
'''bugzilla id:''' michael.obrien(at)oracle.com
 
'''bugzilla id:''' michael.obrien(at)oracle.com
  
'''committer id:''' mobrien
+
'''committer id:''' mobrien (F. Michael O'Brien)
  
 
'''Location:''' Ottawa, Canada - Eastern Standard Time
 
'''Location:''' Ottawa, Canada - Eastern Standard Time
Line 10: Line 10:
 
''Overly enthusiastic'' and ''optimistic'' Enterprise Software Developer
 
''Overly enthusiastic'' and ''optimistic'' Enterprise Software Developer
  
Currently working with [http://www.oracle.com Oracle Corporation] on their [http://www.oracle.com/technology/products/ias/toplink/ TopLink] product and with the Eclipse Foundation on their [http://www.eclipselink.org EclipseLink] product.  Specializing in [http://wiki.eclipse.org/EclipseLink/Examples/JPA#Tutorials Application Server Container deployments], JMX and the Metamodel API in the latest JSR-317 JPA 2.0 API RI for the JEE6 specification.
+
Currently working with [http://telushealth.com/en/default.aspx Telus Health | backed by Emergis] on their [http://telushealth.com/en/solutions/electronic_health_records/ Oacis] since April 2011 after a very good 5 years with [http://www.oracle.com Oracle Corporation] on their [http://www.oracle.com/technology/products/ias/toplink/ TopLink] product and the Eclipse Foundation on their [http://www.eclipselink.org EclipseLink] product.  Specialized in [http://wiki.eclipse.org/EclipseLink/Examples/JPA#Tutorials Application Server Container deployments], JMX and the Metamodel API in the latest JSR-317 JPA 2.0 API RI for the JEE6 specification.
 
=References=
 
=References=
*[https://bugs.eclipse.org/bugs/buglist.cgi?emailreporter1=1;classification=RT;emailtype1=substring;query_format=advanced;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;email1=michael.obrien%40oracle.com;component=Build;component=DBWS;component=Documentation;component=EIS;component=Examples;component=Foundation;component=Incubator;component=JPA;component=MOXy;component=SDO;component=Utils;product=EclipseLink Michael O'Brien raised bugs/enhancements]
+
*[https://bugs.eclipse.org/bugs/buglist.cgi?emailreporter1=1;classification=RT;emailtype1=substring;query_format=advanced;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;email1=michael.f.obrien%40telus.com;component=Build;component=DBWS;component=Documentation;component=EIS;component=Examples;component=Foundation;component=Incubator;component=JPA;component=MOXy;component=SDO;component=Utils;product=EclipseLink Michael O'Brien raised bugs/enhancements]
 
*[https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_status=ASSIGNED;component=Documentation;component=Examples;component=Foundation;component=JPA;classification=RT;product=EclipseLink Michael's Currently assigned EclipseLink bugs/Enhancements]
 
*[https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_status=ASSIGNED;component=Documentation;component=Examples;component=Foundation;component=JPA;classification=RT;product=EclipseLink Michael's Currently assigned EclipseLink bugs/Enhancements]
  
Line 20: Line 20:
  
 
==EE Tutorial Pages==
 
==EE Tutorial Pages==
*[http://wiki.eclipse.org/EclipseLink/Examples/JPA#Tutorials Application Server EAR Tutorials] | [http://wiki.eclipse.org/EclipseLink/Development/JPA_2.0/weblogic#DI_1.1:_Alternative_3:_Application_Level_Shared_Library_-_In_Use JPA 2.0 on WebLogic 10.3.3]
+
*[http://wiki.eclipse.org/EclipseLink/Examples/Distributed Distributed EE Application Case Study] | [http://wiki.eclipse.org/EclipseLink/Examples/JPA#Tutorials Application Server EAR Tutorials] | [http://wiki.eclipse.org/EclipseLink/Development/JPA_2.0/weblogic#DI_1.1:_Alternative_3:_Application_Level_Shared_Library_-_In_Use JPA 2.0 on WebLogic 10.3.3]
  
 
==EclipseLink related Forums==
 
==EclipseLink related Forums==
Line 27: Line 27:
  
 
==Software References==
 
==Software References==
 +
*[http://www.oracle.com/technetwork/java/javase/6u24releasenotes-307697.html 20110301 Java 6 update 24 SDK]
 
*[http://en.wikipedia.org/wiki/Oracle_WebLogic_Server Oracle WebLogic Server @ Wikipedia]
 
*[http://en.wikipedia.org/wiki/Oracle_WebLogic_Server Oracle WebLogic Server @ Wikipedia]
 
*[http://forums.terracotta.org/forums/forums/list.page Terracotta]
 
*[http://forums.terracotta.org/forums/forums/list.page Terracotta]
 +
 
==Hardcover==
 
==Hardcover==
 
* [http://www.amazon.ca/Pro-JPA-Mastering-trade-Persistence/dp/1430219564/ref=sr_1_1?ie=UTF8&s=books&qid=1257649172&sr=1-1 Pro JPA 2]
 
* [http://www.amazon.ca/Pro-JPA-Mastering-trade-Persistence/dp/1430219564/ref=sr_1_1?ie=UTF8&s=books&qid=1257649172&sr=1-1 Pro JPA 2]
 
==Experimental==
 
==Experimental==
 +
*[http://wiki.eclipse.org/EclipseLink/Examples/Distributed Distributed JPA Application]
 
*[http://wiki.eclipse.org/EclipseLink/Examples/JPA/Simulation JPA Real World Hardware Integration]
 
*[http://wiki.eclipse.org/EclipseLink/Examples/JPA/Simulation JPA Real World Hardware Integration]
 
*[http://dataparallel.blogspot.com External Technical Blogs]
 
*[http://dataparallel.blogspot.com External Technical Blogs]
 
*Any EclipseLink Bugs or Enhancements I am currently working on can be viewed on my LED display board on my cubicle wall - In case I forget over the weekend.  The bug numbers are automatically downloaded from an eclipse web query every 15 min and downloaded both to the display controller (an 8 core parallel processor - 1 core/line and the 5th core for USB comms) and a server-side Derby database via an EclipseLink JPA based SE network application.
 
*Any EclipseLink Bugs or Enhancements I am currently working on can be viewed on my LED display board on my cubicle wall - In case I forget over the weekend.  The bug numbers are automatically downloaded from an eclipse web query every 15 min and downloaded both to the display controller (an 8 core parallel processor - 1 core/line and the 5th core for USB comms) and a server-side Derby database via an EclipseLink JPA based SE network application.
Image:IMG_0608_EclipseLink_Bugs_obrienlabs_LED_Display_board_480h.jpg
+
[[Image:IMG_0608_EclipseLink_Bugs_obrienlabs_LED_Display_board_480h.jpg]]
 +
*When I think about what is possible with technical computing and the problems it can overcome in advancing the human race - I feel very very positive.  I get the same feeling as when I think about Science - like the anything is possible. I get a similar feeling when I have a multilayer distributed application stopped by multiple debuggers at the exact point where a critical defect occurs - and realizing the solution is on the screen (or multiple screens - if you know me personally). It is hard to describe what exactly it is that is so appealing about my work - it may be the discovery of patterns and how to solve insurmountable problems.
 +
It may be the feeling that nothing is beyond reach with the right amount of judicious technical discovery.
  
 
==Activity==
 
==Activity==
 
===Official===
 
===Official===
 +
*20110214:
 +
**http://bugs.eclipse.org/332312
 +
***http://wiki.eclipse.org/EclipseLink/DesignDocs/332312
 +
**http://bugs.eclipse.org/337037
 +
***http://wiki.eclipse.org/EclipseLink/Examples/Distributed
 
*20101231: continue work on the following issues (Note: bugs/enhancements that are prefixed with a ":" are usually raised by myself).
 
*20101231: continue work on the following issues (Note: bugs/enhancements that are prefixed with a ":" are usually raised by myself).
 
**P3:E:2.3 [http://bugs.eclipse.org/332953 332953 Spring 3.0 JPA Tutorial]
 
**P3:E:2.3 [http://bugs.eclipse.org/332953 332953 Spring 3.0 JPA Tutorial]
Line 46: Line 56:
 
**P2:N:F [http://bugs.eclipse.org/326728 326728 Computed root URL for META-INF/persistence.xml inside a war-file is wrong]
 
**P2:N:F [http://bugs.eclipse.org/326728 326728 Computed root URL for META-INF/persistence.xml inside a war-file is wrong]
 
**P2:C:F [https://bugs.eclipse.org/bugs/show_bug.cgi?id=307105 307105 FileNotFoundException when using .JARs from remote Windows location]
 
**P2:C:F [https://bugs.eclipse.org/bugs/show_bug.cgi?id=307105 307105 FileNotFoundException when using .JARs from remote Windows location]
 +
 
===Indirectly/Adjacent/Followup/Assist===
 
===Indirectly/Adjacent/Followup/Assist===
 
*[http://dev.eclipse.org/mhonarc/lists/eclipselink-users/msg05739.html eclipselink-users persistence.xml in standalone app and enterprise beans ]
 
*[http://dev.eclipse.org/mhonarc/lists/eclipselink-users/msg05739.html eclipselink-users persistence.xml in standalone app and enterprise beans ]
Line 62: Line 73:
 
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=333602 333602]: Amazon Elastic Compute Cloud ECC AMS instances running EclipseLink JPA as the ORM layer
 
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=333602 333602]: Amazon Elastic Compute Cloud ECC AMS instances running EclipseLink JPA as the ORM layer
 
*http://en.wikipedia.org/wiki/Technical_debt
 
*http://en.wikipedia.org/wiki/Technical_debt
 +
*This UML diagram represents a portion of the internal and external classes and interface hierarchy of the EclipseLink 2.0 API (specifically JPA 2.0 Metamodel classes)[https://s3.amazonaws.com/eclipselink/eclipselink_uml_diagrams_20101221.vsd UML Source : Microsoft Visio 2000 VSD format] hosted on the [https://console.aws.amazon.com/s3/home Amazon S3 cloud]
  
 
====Dynamic Persistence====
 
====Dynamic Persistence====
Line 94: Line 106:
 
*Thread safety
 
*Thread safety
 
*Mixed JSF/Spring/AJAX/EJB framework artifacts
 
*Mixed JSF/Spring/AJAX/EJB framework artifacts
 +
*Hibernate JPA and WebLogic
  
 
===To Review===
 
===To Review===
Line 100: Line 113:
 
*2008 http://www.oracle.com/technetwork/articles/entarch/spring-096279.html
 
*2008 http://www.oracle.com/technetwork/articles/entarch/spring-096279.html
 
*2006 http://www.oracle.com/technetwork/articles/entarch/jpa-spring-medrec-091875.html
 
*2006 http://www.oracle.com/technetwork/articles/entarch/jpa-spring-medrec-091875.html
 +
===Statistics===
 +
*https://fisheye2.atlassian.com/changelog/eclipselink
 +
*http://svnsearch.org/svnsearch/repos/ECLIPSELINK/search
 +
*http://svnsearch.org/svnsearch/repos/ECLIPSELINK/search?view=graph
 +
 +
==Specifications==
 +
*[http://blogs.sun.com/theaquarium/entry/jax_rs_2_0_jpa Java EE 7] [http://jcp.org/en/jsr/detail?id=338 JPA 2.1] [http://bugs.eclipse.org/338610 JPA 2.1 implementation 338610]
 +
*[http://java.sun.com/developer/technicalArticles/JavaEE/JavaEE6Overview_Part3.html Java EE 6]
 +
 +
*JEE6 WebProfile subset of EE specifications
 +
**JSR 315: Java Servlet 3.0
 +
***http://www.jcp.org/en/jsr/detail?id=315
 +
**JSR 314: JavaServer Faces (JSF) 2.0
 +
***http://www.jcp.org/en/jsr/detail?id=314
 +
**JSR 245: JavaServer Pages 2.2 and Expression Language (EL) 1.2
 +
***http://www.jcp.org/en/jsr/detail?id=245
 +
**JSR 52: A Standard Tag Library for JavaServer Pages 1.2
 +
***http://www.jcp.org/en/jsr/detail?id=52
 +
**JSR-45: Debugging Support for Other Languages 1.0
 +
***http://www.jcp.org/en/jsr/detail?id=45
 +
**JSR 317: Java Persistence API 2.0 
 +
***http://www.jcp.org/en/jsr/detail?id=317
 +
**Traditional EJB container APIs now available to the Web container
 +
***JSR 299: Contexts and Dependency Injection for the Java EE Platform 1.0
 +
****http://jcp.org/en/jsr/detail?id=299
 +
***JSR 330: Dependency Injection for Java
 +
****http://jcp.org/en/jsr/detail?id=330
 +
***JSR 318: Enterprise JavaBeans 3.1 (EJB Lite)
 +
****http://jcp.org/en/jsr/detail?id=318
 +
***JSR 250: Common Annotations for the Java Platform 1.1
 +
****http://www.jcp.org/en/jsr/detail?id=250
 +
***JSR 907: Java Transaction API (JTA) 1.1
 +
****http://www.jcp.org/en/jsr/detail?id=907
 +
***JSR 303: Bean Validation 1.0
 +
****http://jcp.org/en/jsr/detail?id=303
 +
*Of note is the new support for JTA, EJB 3.1 and CDI/DI for any pojo in the WAR along with JSR-303 which consolidates bean validation across the tiers and moves it up into the business layer from the presentation layer
 +
**Note that JAX-RS 1.1 and the rest of the WebServices API's are not in Web Profile - they are still accessible via the EJB container We will need to see how we work as a container managed persistence unit in this new environment.
 +
*JEE6 Full Specification that includes above WebProfile subset
 +
**JSR 322: Java EE Connector Architecture 1.6 
 +
***http://jcp.org/en/jsr/detail?id=322
 +
**JSR 914: Java Message Service (JMS) API 1.1 
 +
***http://www.jcp.org/en/jsr/detail?id=914
 +
**JSR 919: JavaMail 1.4 
 +
***http://jcp.org/en/jsr/detail?id=919
 +
**JSR 311: JAX-RS: The Java API for RESTful Web Services 1.1 
 +
***http://jcp.org/en/jsr/detail?id=311
 +
**JSR 109: Implementing Enterprise Web Services 1.3 
 +
***http://jcp.org/en/jsr/detail?id=109
 +
**JSR 224: Java API for XML-Based Web Services (JAX-WS) 2.2 
 +
***http://jcp.org/en/jsr/detail?id=224
 +
**JSR 222: Java Architecture for XML Binding (JAXB) 2.2 
 +
***http://jcp.org/en/jsr/detail?id=222
 +
**JSR 181: Web Services Metadata for the Java Platform 
 +
***http://jcp.org/en/jsr/detail?id=181
 +
**JSR 67: Java APIs for XML Messaging 1.3 
 +
***http://jcp.org/en/jsr/detail?id=67
 +
**JSR 196: Java Authentication Service Provider Interface for Containers 1.0 
 +
***http://jcp.org/en/jsr/detail?id=196
 +
**JSR 115: Java Authorization Contract for Containers 1.3 
 +
***http://jcp.org/en/jsr/detail?id=115
 +
**JSR 77: J2EE Management 1.1 
 +
***http://jcp.org/en/jsr/detail?id=77
 +
**of note is the new JAX-RS 1.1 support for the REST pattern of get/post/put/delete URI's and the proposed JEE7 JSR-339 for JAX-RS 2.0
 +
*Likely to be Optional or deprecated in JEE7 - see bug# 338610 for JSR-338
 +
**JSR 101: Java APIs for XML based RPC 1.1 
 +
***http://jcp.org/en/jsr/detail?id=101
 +
**JSR 93: Java API for XML Registries 1.0 (JAXR) 1.0 
 +
***http://jcp.org/en/jsr/detail?id=93
 +
**JSR 153: Enterprise JavaBeans 2.0, and earlier
 +
***http://jcp.org/aboutJava/communityprocess/final/jsr153
 +
**JSR 88: Java EE Application Deployment 1.2 
 +
***http://jcp.org/en/jsr/detail?id=88
 +
 +
==Theory==
 +
*http://en.wikipedia.org/wiki/Computational_complexity_theory
 +
*http://en.wikipedia.org/wiki/Quicksort
 +
==Links==
 +
*'''[http://obrienscience.blogspot.com Personal tecnical web content entry point for] [http://obrienscience.com F. Michael O'Brien]'''
 +
*Technology links mostly of interest to self.
 +
*http://java.sun.com/developer/technicalArticles/JavaEE/JavaEE6Overview_Part3.html (The examples on the Java EE 6 main JAX-RS page do not compile - change Get to GET, Post to Post and replace the space between ''core UriInfo''' with '''core.UriInfo''')
 +
*Collatz http://lanzkron.wordpress.com/2010/06/02/optimizing-collatz-for-klutzes/
 +
*http://www.research.att.com/~njas/doc/shannon1948.pdf
 +
*Machine Architecture - Herb Sutter [http://video.google.com/videoplay?docid=-4714369049736584770# Google Video] | [http://www.nwcpp.org/Downloads/2007/Machine_Architecture_-_NWCPP.pdf slides]
 +
*[http://www.scala-lang.org/ Scala]|[http://en.wikipedia.org/wiki/Scala_(programming_language) Scala WP]
 +
*http://people.csail.mit.edu/unamay/index.html
 +
*http://blog.eisele.net/2011/02/high-performance-jpa-with-glassfish-and.html
 +
*http://web.cecs.pdx.edu/~mm/index.html
 +
*http://jaxlondon.com/2011s/trackssessions/?l=en&id=8&tid=1951
 +
*http://ei.cs.vt.edu/~history/VonNeumann.html
 +
*http://www-cs-faculty.stanford.edu/~knuth/
 +
*http://www-robotics.usc.edu/~maja/
 +
*[http://www.wolframalpha.com/input/?i=eclipse+link Wolfram Computational Knowledge Engine online]
 +
*http://cse.ucdavis.edu/~chaos/
 +
<!--*http://www.cs.sjsu.edu/faculty/rucker/-->
 +
*http://www.cs.unm.edu/~forrest/
  
 
==Log==
 
==Log==
 
*20101231:3188
 
*20101231:3188
 
*20100908: rewrite started at hit 2620
 
*20100908: rewrite started at hit 2620
 +
*Everybody would like to optimized computations in their spare time  - but using all available capacity of your servers is not an easy thing to do.  Don't let let your multicore processor sit idle or use a small percentage of it's potential - use threads and push your processor to it's limit of parallel computation and use of electrical resources.  Pass this very interesting graphic to all your Java, C++, C, Assembly and even Smalltalk friends.  Don't worry about locking, deadlock, thread contention, thread scheduling, finished threads waiting on slower threads, data corruption, queuing, synchronization, concurrency issues, data parallel work distribution/merging, heat dissipation, and electicity usage - as everything can be solved.
 +
[[Image:Corei7_920_zoom_time_1_to_512_threads_graph.JPG]]
  
 
+
<!--[[Category:EclipseLink:Users|Michael OBrien]]
[[Category:EclipseLink:Users|Michael OBrien]]
+
 
[[Category:EclipseLink:Committers|Michael OBrien]]
 
[[Category:EclipseLink:Committers|Michael OBrien]]
 
[[Category:Users|Michael OBrien]]
 
[[Category:Users|Michael OBrien]]
[[Category:Committers|Michael OBrien]]
+
[[Category:Committers|Michael OBrien]]-->

Latest revision as of 20:45, 6 May 2011

bugzilla id: michael.obrien(at)oracle.com

committer id: mobrien (F. Michael O'Brien)

Location: Ottawa, Canada - Eastern Standard Time

  • Committer on Eclipse Persistence Services project - EclipseLink

Profession: Overly enthusiastic and optimistic Enterprise Software Developer

Currently working with Telus Health | backed by Emergis on their Oacis since April 2011 after a very good 5 years with Oracle Corporation on their TopLink product and the Eclipse Foundation on their EclipseLink product. Specialized in Application Server Container deployments, JMX and the Metamodel API in the latest JSR-317 JPA 2.0 API RI for the JEE6 specification.

Contents

[edit] References

[edit] Misc

[edit] EE Tutorial Pages

[edit] EclipseLink related Forums

[edit] Software References

[edit] Hardcover

[edit] Experimental

  • Distributed JPA Application
  • JPA Real World Hardware Integration
  • External Technical Blogs
  • Any EclipseLink Bugs or Enhancements I am currently working on can be viewed on my LED display board on my cubicle wall - In case I forget over the weekend. The bug numbers are automatically downloaded from an eclipse web query every 15 min and downloaded both to the display controller (an 8 core parallel processor - 1 core/line and the 5th core for USB comms) and a server-side Derby database via an EclipseLink JPA based SE network application.

IMG 0608 EclipseLink Bugs obrienlabs LED Display board 480h.jpg

  • When I think about what is possible with technical computing and the problems it can overcome in advancing the human race - I feel very very positive. I get the same feeling as when I think about Science - like the anything is possible. I get a similar feeling when I have a multilayer distributed application stopped by multiple debuggers at the exact point where a critical defect occurs - and realizing the solution is on the screen (or multiple screens - if you know me personally). It is hard to describe what exactly it is that is so appealing about my work - it may be the discovery of patterns and how to solve insurmountable problems.

It may be the feeling that nothing is beyond reach with the right amount of judicious technical discovery.

[edit] Activity

[edit] Official

[edit] Indirectly/Adjacent/Followup/Assist

[edit] Interest

[edit] Dynamic Persistence

[edit] Architecture Aware Computing

[edit] SaaS | PaaS | IaaS

[edit] Concurrency Issues

[edit] UnOfficial

[edit] Deferred but Very Important

[edit] Pending

[edit] Raised

[edit] Bugs and Enhancements I am interested in

[edit] Experimental

  • 20110209: Distributed JPA application using multiple SE clients connected to a single EE server using various EJB/RMI, JMS, JAX-RS and WebServices technologies. Use this distributed framework to hammer the JTA container managed persistence context and observe how it handles concurrency contention.
  • Concurrency
  • Thread safety
  • Mixed JSF/Spring/AJAX/EJB framework artifacts
  • Hibernate JPA and WebLogic

[edit] To Review

[edit] Statistics

[edit] Specifications

[edit] Theory

[edit] Links

[edit] Log

  • 20101231:3188
  • 20100908: rewrite started at hit 2620
  • Everybody would like to optimized computations in their spare time - but using all available capacity of your servers is not an easy thing to do. Don't let let your multicore processor sit idle or use a small percentage of it's potential - use threads and push your processor to it's limit of parallel computation and use of electrical resources. Pass this very interesting graphic to all your Java, C++, C, Assembly and even Smalltalk friends. Don't worry about locking, deadlock, thread contention, thread scheduling, finished threads waiting on slower threads, data corruption, queuing, synchronization, concurrency issues, data parallel work distribution/merging, heat dissipation, and electicity usage - as everything can be solved.

Corei7 920 zoom time 1 to 512 threads graph.JPG