Enviar pesquisa
Carregar
40020
•
0 gostou
•
502 visualizações
T
tutorialsruby
Seguir
Tecnologia
Negócios
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 54
Baixar agora
Baixar para ler offline
Recomendados
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Arun Gupta
Advance java1.1
Advance java1.1
Prince Soni
Java EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the Cloud
Arun Gupta
Ankara JUG Ağustos 2013 - Oracle ADF
Ankara JUG Ağustos 2013 - Oracle ADF
Ankara JUG
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
Arun Gupta
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Arun Gupta
Avatar 2.0
Avatar 2.0
David Delabassee
JAX-RS 2.0: RESTful Web services on steroids at Geecon 2012
JAX-RS 2.0: RESTful Web services on steroids at Geecon 2012
Arun Gupta
Recomendados
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Arun Gupta
Advance java1.1
Advance java1.1
Prince Soni
Java EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the Cloud
Arun Gupta
Ankara JUG Ağustos 2013 - Oracle ADF
Ankara JUG Ağustos 2013 - Oracle ADF
Ankara JUG
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
Arun Gupta
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Arun Gupta
Avatar 2.0
Avatar 2.0
David Delabassee
JAX-RS 2.0: RESTful Web services on steroids at Geecon 2012
JAX-RS 2.0: RESTful Web services on steroids at Geecon 2012
Arun Gupta
Hybernat and structs, spring classes in mumbai
Hybernat and structs, spring classes in mumbai
Vibrant Technologies & Computers
Java EE 7 - Overview and Status
Java EE 7 - Overview and Status
Java Usergroup Berlin-Brandenburg
JAX-RS 2.0: What’s New in JSR 339 ?
JAX-RS 2.0: What’s New in JSR 339 ?
Arun Gupta
Websocket 1.0
Websocket 1.0
Arun Gupta
The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUG
Arun Gupta
Designing JEE Application Structure
Designing JEE Application Structure
odedns
Java EE Revisits GoF Design Patterns
Java EE Revisits GoF Design Patterns
Murat Yener
JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6
Bert Ertman
The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011
Arun Gupta
Hibernate 3
Hibernate 3
Rajiv Gupta
Java Enterprise Edition 6 Overview
Java Enterprise Edition 6 Overview
Eugene Bogaart
Introduction to java ee
Introduction to java ee
Ranjan Kumar
Java EE 8 Recipes
Java EE 8 Recipes
Josh Juneau
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
codemotion_es
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Reza Rahman
JAX-RS 2.0: RESTful Web services on steroids
JAX-RS 2.0: RESTful Web services on steroids
codemotion_es
Spring
Spring
Prashant Kumar
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
Mert Çalışkan
vitae
vitae
tutorialsruby
H U M A N P H Y S I O L O G Y D R S H R I N I W A S K A S H A L I K A R
H U M A N P H Y S I O L O G Y D R S H R I N I W A S K A S H A L I K A R
banothkishan
os-php-wiki5-a4
os-php-wiki5-a4
tutorialsruby
H O W T O L I V E I N H A R M O N Y D R S H R I N I W A S K A S H A L ...
H O W T O L I V E I N H A R M O N Y D R S H R I N I W A S K A S H A L ...
banothkishan
Mais conteúdo relacionado
Mais procurados
Hybernat and structs, spring classes in mumbai
Hybernat and structs, spring classes in mumbai
Vibrant Technologies & Computers
Java EE 7 - Overview and Status
Java EE 7 - Overview and Status
Java Usergroup Berlin-Brandenburg
JAX-RS 2.0: What’s New in JSR 339 ?
JAX-RS 2.0: What’s New in JSR 339 ?
Arun Gupta
Websocket 1.0
Websocket 1.0
Arun Gupta
The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUG
Arun Gupta
Designing JEE Application Structure
Designing JEE Application Structure
odedns
Java EE Revisits GoF Design Patterns
Java EE Revisits GoF Design Patterns
Murat Yener
JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6
Bert Ertman
The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011
Arun Gupta
Hibernate 3
Hibernate 3
Rajiv Gupta
Java Enterprise Edition 6 Overview
Java Enterprise Edition 6 Overview
Eugene Bogaart
Introduction to java ee
Introduction to java ee
Ranjan Kumar
Java EE 8 Recipes
Java EE 8 Recipes
Josh Juneau
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
codemotion_es
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Reza Rahman
JAX-RS 2.0: RESTful Web services on steroids
JAX-RS 2.0: RESTful Web services on steroids
codemotion_es
Spring
Spring
Prashant Kumar
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
Mert Çalışkan
Mais procurados
(18)
Hybernat and structs, spring classes in mumbai
Hybernat and structs, spring classes in mumbai
Java EE 7 - Overview and Status
Java EE 7 - Overview and Status
JAX-RS 2.0: What’s New in JSR 339 ?
JAX-RS 2.0: What’s New in JSR 339 ?
Websocket 1.0
Websocket 1.0
The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUG
Designing JEE Application Structure
Designing JEE Application Structure
Java EE Revisits GoF Design Patterns
Java EE Revisits GoF Design Patterns
JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6
The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011
Hibernate 3
Hibernate 3
Java Enterprise Edition 6 Overview
Java Enterprise Edition 6 Overview
Introduction to java ee
Introduction to java ee
Java EE 8 Recipes
Java EE 8 Recipes
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
JAX-RS 2.0: RESTful Web services on steroids
JAX-RS 2.0: RESTful Web services on steroids
Spring
Spring
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
Destaque
vitae
vitae
tutorialsruby
H U M A N P H Y S I O L O G Y D R S H R I N I W A S K A S H A L I K A R
H U M A N P H Y S I O L O G Y D R S H R I N I W A S K A S H A L I K A R
banothkishan
os-php-wiki5-a4
os-php-wiki5-a4
tutorialsruby
H O W T O L I V E I N H A R M O N Y D R S H R I N I W A S K A S H A L ...
H O W T O L I V E I N H A R M O N Y D R S H R I N I W A S K A S H A L ...
banothkishan
Thematic_Mapping_Engine
Thematic_Mapping_Engine
tutorialsruby
L571_su06_helling
L571_su06_helling
tutorialsruby
A S S E R T I O N A N D H O L I S T I C H E A L T H D R
A S S E R T I O N A N D H O L I S T I C H E A L T H D R
banothkishan
H O L I S T I C M E D I C I N E & L A W D R
H O L I S T I C M E D I C I N E & L A W D R
banothkishan
dr_4
dr_4
tutorialsruby
javascript_service_tutorial
javascript_service_tutorial
tutorialsruby
collapsible-panels-tutorial
collapsible-panels-tutorial
tutorialsruby
Csdn Java电子杂志第2期
Csdn Java电子杂志第2期
yiditushe
PHP-GTK
PHP-GTK
tutorialsruby
D I A B E T E S A N D B H R A M A R I D R S H R I N I W A S K A S H A L ...
D I A B E T E S A N D B H R A M A R I D R S H R I N I W A S K A S H A L ...
banothkishan
Brent-Linsteadt
Brent-Linsteadt
Brent Linsteadt
22squared Igniting Advocacy In Retail Banking
22squared Igniting Advocacy In Retail Banking
Brandon Murphy
Destaque
(16)
vitae
vitae
H U M A N P H Y S I O L O G Y D R S H R I N I W A S K A S H A L I K A R
H U M A N P H Y S I O L O G Y D R S H R I N I W A S K A S H A L I K A R
os-php-wiki5-a4
os-php-wiki5-a4
H O W T O L I V E I N H A R M O N Y D R S H R I N I W A S K A S H A L ...
H O W T O L I V E I N H A R M O N Y D R S H R I N I W A S K A S H A L ...
Thematic_Mapping_Engine
Thematic_Mapping_Engine
L571_su06_helling
L571_su06_helling
A S S E R T I O N A N D H O L I S T I C H E A L T H D R
A S S E R T I O N A N D H O L I S T I C H E A L T H D R
H O L I S T I C M E D I C I N E & L A W D R
H O L I S T I C M E D I C I N E & L A W D R
dr_4
dr_4
javascript_service_tutorial
javascript_service_tutorial
collapsible-panels-tutorial
collapsible-panels-tutorial
Csdn Java电子杂志第2期
Csdn Java电子杂志第2期
PHP-GTK
PHP-GTK
D I A B E T E S A N D B H R A M A R I D R S H R I N I W A S K A S H A L ...
D I A B E T E S A N D B H R A M A R I D R S H R I N I W A S K A S H A L ...
Brent-Linsteadt
Brent-Linsteadt
22squared Igniting Advocacy In Retail Banking
22squared Igniting Advocacy In Retail Banking
Semelhante a 40020
Oracle JET overview
Oracle JET overview
Steven Davelaar
Essential Kit for Oracle JET Programming
Essential Kit for Oracle JET Programming
andrejusb
Oracle Database Cloud Service
Oracle Database Cloud Service
Jean-Philippe PINTE
JavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth Slides
Edward Burns
Oracle JET
Oracle JET
Geertjan Wielenga
Introduction to java_ee
Introduction to java_ee
Yogesh Bindwal
Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望
javatwo2011
Sim-webcast-part1-1aa
Sim-webcast-part1-1aa
OracleIDM
Server Side JavaScript on the Java Platform - David Delabassee
Server Side JavaScript on the Java Platform - David Delabassee
JAXLondon2014
geecon 2016: "What's Oracle Doing with JavaScript?!"
geecon 2016: "What's Oracle Doing with JavaScript?!"
Geertjan Wielenga
Internship softwaretraining@ijse
Internship softwaretraining@ijse
Jinadi Rashmika
WebSockets in Enterprise Applications
WebSockets in Enterprise Applications
Pavel Bucek
Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?
Bruno Borges
Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1
sandeep54552
NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL
NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL
Andrew Morgan
Oracel ADF Introduction
Oracel ADF Introduction
Hojjat Abedie
Con11257 schifano con11257-best practices for deploying highly scalable virtu...
Con11257 schifano con11257-best practices for deploying highly scalable virtu...
Berry Clemens
Apex ace update
Apex ace update
Ayesha Fayyaz
APEX Alpe Adria Mike Hichwa Keynote April 11th 2019- Zagreb
APEX Alpe Adria Mike Hichwa Keynote April 11th 2019- Zagreb
Michael Hichwa
Oracle RAD stack REST, APEX, Database
Oracle RAD stack REST, APEX, Database
Michael Hichwa
Semelhante a 40020
(20)
Oracle JET overview
Oracle JET overview
Essential Kit for Oracle JET Programming
Essential Kit for Oracle JET Programming
Oracle Database Cloud Service
Oracle Database Cloud Service
JavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth Slides
Oracle JET
Oracle JET
Introduction to java_ee
Introduction to java_ee
Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望
Sim-webcast-part1-1aa
Sim-webcast-part1-1aa
Server Side JavaScript on the Java Platform - David Delabassee
Server Side JavaScript on the Java Platform - David Delabassee
geecon 2016: "What's Oracle Doing with JavaScript?!"
geecon 2016: "What's Oracle Doing with JavaScript?!"
Internship softwaretraining@ijse
Internship softwaretraining@ijse
WebSockets in Enterprise Applications
WebSockets in Enterprise Applications
Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?
Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1
NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL
NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL
Oracel ADF Introduction
Oracel ADF Introduction
Con11257 schifano con11257-best practices for deploying highly scalable virtu...
Con11257 schifano con11257-best practices for deploying highly scalable virtu...
Apex ace update
Apex ace update
APEX Alpe Adria Mike Hichwa Keynote April 11th 2019- Zagreb
APEX Alpe Adria Mike Hichwa Keynote April 11th 2019- Zagreb
Oracle RAD stack REST, APEX, Database
Oracle RAD stack REST, APEX, Database
Mais de tutorialsruby
<img src="../i/r_14.png" />
<img src="../i/r_14.png" />
tutorialsruby
TopStyle Help & <b>Tutorial</b>
TopStyle Help & <b>Tutorial</b>
tutorialsruby
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>
tutorialsruby
<img src="../i/r_14.png" />
<img src="../i/r_14.png" />
tutorialsruby
<img src="../i/r_14.png" />
<img src="../i/r_14.png" />
tutorialsruby
Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0
tutorialsruby
xhtml_basics
xhtml_basics
tutorialsruby
xhtml_basics
xhtml_basics
tutorialsruby
xhtml-documentation
xhtml-documentation
tutorialsruby
xhtml-documentation
xhtml-documentation
tutorialsruby
CSS
CSS
tutorialsruby
CSS
CSS
tutorialsruby
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
tutorialsruby
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
tutorialsruby
HowTo_CSS
HowTo_CSS
tutorialsruby
HowTo_CSS
HowTo_CSS
tutorialsruby
BloggingWithStyle_2008
BloggingWithStyle_2008
tutorialsruby
BloggingWithStyle_2008
BloggingWithStyle_2008
tutorialsruby
cascadingstylesheets
cascadingstylesheets
tutorialsruby
cascadingstylesheets
cascadingstylesheets
tutorialsruby
Mais de tutorialsruby
(20)
<img src="../i/r_14.png" />
<img src="../i/r_14.png" />
TopStyle Help & <b>Tutorial</b>
TopStyle Help & <b>Tutorial</b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>
<img src="../i/r_14.png" />
<img src="../i/r_14.png" />
<img src="../i/r_14.png" />
<img src="../i/r_14.png" />
Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0
xhtml_basics
xhtml_basics
xhtml_basics
xhtml_basics
xhtml-documentation
xhtml-documentation
xhtml-documentation
xhtml-documentation
CSS
CSS
CSS
CSS
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
HowTo_CSS
HowTo_CSS
HowTo_CSS
HowTo_CSS
BloggingWithStyle_2008
BloggingWithStyle_2008
BloggingWithStyle_2008
BloggingWithStyle_2008
cascadingstylesheets
cascadingstylesheets
cascadingstylesheets
cascadingstylesheets
Último
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Delhi Call girls
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Puma Security, LLC
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Delhi Call girls
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Results
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Enterprise Knowledge
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Pixlogix Infotech
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Malak Abu Hammad
Último
(20)
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
40020
1.
© 2008 Oracle
Corporation – Proprietary and Confidential
2.
<Insert Picture Here> PeopleTools
Advanced Tips and Techniques Jim Marion Senior Applications Technology Consultant, ADS
3.
The following is
intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. © 2008 Oracle Corporation – Proprietary and Confidential
4.
Program Agenda Example
• Communities and resources <Insert Picture Here> • PeopleTools – the extensible foundation • Extend the app server • Extend the web server • Extend Integration Broker • Extend the user interface – IScripts – Ajax © 2008 Oracle Corporation – Proprietary and Confidential
5.
<Insert Picture Here>
Communities and Resources © 2008 Oracle Corporation – Proprietary and Confidential
6.
mix.oracle.com
• Groups – PeopleTools – PeopleSoft – Enterprise Portal – Application specific groups • Mingle with peers • Solicit votes for ideas • See what other customers are asking, doing, and want to do • Post your own tips and techniques • Answer your peers questions © 2008 Oracle Corporation – Proprietary and Confidential
7.
Blogs
• http://jjmpsj.blogspot.com/ • http://blog.greysparling.com/ • IT Toolbox groups ERP > PeopleSoft • http://blogs.ittoolbox.com/peoplesoft/rob • http://xtrahot.chili-mango.net/ • http://peoplesofttipster.com/ • http://campus-codemonkeys.blogspot.com/ • http://blogs.oracle.com/peopletools/ © 2008 Oracle Corporation – Proprietary and Confidential
8.
<Insert Picture Here>
PeopleTools Foundation © 2008 Oracle Corporation – Proprietary and Confidential
9.
The Extensible Foundation
The “Tech Stack” • Relational database – Programmable • Functions, procedures, triggers • App Server – Java VM – Native libraries • J2EE web server – JSP/JSF – Servlets – EJB • Web Browser © 2008 Oracle Corporation – Proprietary and Confidential
10.
<Insert Picture Here>
Extend the App Server © 2008 Oracle Corporation – Proprietary and Confidential
11.
Extend the PeopleCode
Language • Operating system native libraries – dll’s – so’s • Java VM – Standard Java API – Custom Java classes © 2008 Oracle Corporation – Proprietary and Confidential
12.
Extend the PeopleCode
Language Why? • Some things are easier to do in Java – Java regular expressions versus PeopleCode String manipulation • Take advantage of existing libraries – Apache POI for reading binary Microsoft Excel files (integration) © 2008 Oracle Corporation – Proprietary and Confidential
13.
Extend PeopleCode Language
Using the Java API Function ResolveMetaHTML(&html as string) returns string Local JavaObject &pattern; Local JavaObject &matcher; Local String &node_url; REM ** Resolve %NodePortalURL(NODENAME) tags; &pattern = GetJavaClass("java.util.regex.Pattern") .compile("(?i)%NodePortalURL((w+))"); &matcher = &pattern.matcher( CreateJavaObject("java.lang.String", &html)); While &matcher.find() SQLExec("SELECT URI_TEXT FROM PSNODEURITEXT WHERE MSGNODENAME = :1 AND URI_TYPE = 'PL'", &matcher.group(1), &node_url); &html = Substitute(&html, &matcher.group(), &node_url); End-While; End-Function; © 2008 Oracle Corporation – Proprietary and Confidential
14.
Extend PeopleCode Language
Custom Java Classes REM ** Generate MD5 checksum; Function test_md5() Returns string Local JavaObject &jMD5; &jMD5 = GetJavaClass("com.oracle.ads.peoplesoft.MD5"); &sig = &jMD5.encodeString("String to encode"); End-Function; © 2008 Oracle Corporation – Proprietary and Confidential
15.
Access PeopleSoft from
Java • Within a PeopleSoft session (app or process scheduler server) – PeopleCode objects • Record, SQL, Field, File, XMLDoc, etc – PeopleCode functions • Func.SQLExec, Func.SendMail, etc – PeopleCode system variables • Sysvar.UserId(), Sysvar.Roles() – TIP: Add peoplecode.jar to your Java IDE’s classpath © 2008 Oracle Corporation – Proprietary and Confidential
16.
Java Integration Scenario
• Vendor e-mails invoice in Microsoft Excel format • You need to create a voucher from that invoice • Solution – Use Apache POI (http://poi.apache.org/) and PeopleCode objects/functions to copy spreadsheet to staging table (Java) – Use a component interface based on VCHR_EXPRESS to create vouchers (PeopleCode) © 2008 Oracle Corporation – Proprietary and Confidential
17.
Java Integration Scenario
Java Component public static void processSpreadsheet(int processInstance) { //POI variable initilization, etc ... // 20 insert bind values Object[] parms = new Object[20]; parms[0] = row.getCell(0).getStringCellValue(); // column 2 contains an integer Parms[1] = new Integer(row.getCell(1).getNumericCellValue().intValue()); ... // use Meta-SQL to simplify retrieving SQL from // stored SQL object Func.SQLExec("%SQL(MYSQLOBJECT)", parms); ... } © 2008 Oracle Corporation – Proprietary and Confidential
18.
Advantages of using
PeopleCode Data Objects from Java • Avoid JDBC configuration, data access, authentication, etc • Simplicity of SQLExec • Simplicity of SQL objects/cursors • Meta-SQL expansion • Avoid updating PS database directly © 2008 Oracle Corporation – Proprietary and Confidential
19.
Access PeopleSoft from
Java Aditional References • Enterprise PeopleTools 8.49 PeopleBook: PeopleCode API Reference > Java Class • http://tinyurl.com/2vzv9w (links to my blog) © 2008 Oracle Corporation – Proprietary and Confidential
20.
<Insert Picture Here>
Extend the Web Server © 2008 Oracle Corporation – Proprietary and Confidential
21.
Extensible Options
• Standard J2EE web server options – Servlet filters – JSP – JSF – Custom Servlets – CGI © 2008 Oracle Corporation – Proprietary and Confidential
22.
Standard Request Response
Cycle... … and then ServletFilters Web Server App Server Request est Requ Client/Browser Response se pon Res Web Server Modify Request ServletFilter Servlet Request Response Modify Response © 2008 Oracle Corporation – Proprietary and Confidential
23.
ServletFilters
• Allow you to modify the HTTP request or response • Examples – Authentication – Injection • Monkeygrease – Add additional HTML/JavaScript/CSS to pages – Compression – URLRewriting – Encryption – Encoding – Request/Response header modification © 2008 Oracle Corporation – Proprietary and Confidential
24.
Monkeygrease Examples
ServletFilter • Highlight the active field – http://jjmpsj.blogspot.com/2006/09/where-am-i.html • Keyboard navigation – http://tinyurl.com/yrwsap (links to Grey Sparling blog) • Override CSS without customizing PeopleSoft stylesheets © 2008 Oracle Corporation – Proprietary and Confidential
25.
Authentication Examples
ServletFilter • Use jCIFS to pass Windows authentication token to web server using NTLM – http://tinyurl.com/yuk8bl (links to my blog) © 2008 Oracle Corporation – Proprietary and Confidential
26.
<Insert Picture Here>
Extend Integration Broker © 2008 Oracle Corporation – Proprietary and Confidential
27.
Integration Broker SDK
Custom Connectors • Create connectors to send Integration Broker messages to targets not covered by delivered connectors – Databases via JDBC (JDBCTargetConnector) – Other TCP/IP based protocols – Anywhere, in any electronic way • JavaTargetConnector • ScriptTargetConnector © 2008 Oracle Corporation – Proprietary and Confidential
28.
Vendor Batch Integration
Scenario • Open cursor on vendor table • For each row, select row from target – If exist, compare values • If changed, update – If not exist, insert • How often do you run this? – Too often for the system to handle (resource intensive) – Not often enough for the user © 2008 Oracle Corporation – Proprietary and Confidential
29.
JavaTargetConnector
Prototype package com.peoplesoft.pt.integrationgateway.targetconnector; import ...; public class JavaTargetConnector implements TargetConnector { // respond to "pings" public IBResponse ping(IBRequest request) throws ... { ... } // send the message public IBResponse send(IBRequest request) throws ... { // look up Java class handler from config and use reflection // to call registered Java class } // provide connector setup info for gateway and node setup public ConnectorDataCollection introspectConnector() { ... } } © 2008 Oracle Corporation – Proprietary and Confidential
30.
Custom Connector Advantages
• Real time integration • Reuse PeopleSoft delivered integration points • Changes are published at save time, you don’t need complex logic to find them. © 2008 Oracle Corporation – Proprietary and Confidential
31.
Custom Connectors
Custom Connectors Documentation and Examples • SDK location: web server’s /PSIGW/SDK directory • Java IDE configuration tips – See /PSIGW/SDK/docs/SDK/ReadMe.txt • Contains tips on configuring your classpath – Most important, add /PSIGW/WEB-INF/classes to your classpath © 2008 Oracle Corporation – Proprietary and Confidential
32.
<Insert Picture Here>
IScripts – The Swiss Army Knife © 2008 Oracle Corporation – Proprietary and Confidential
33.
What is an
IScript? • A function that can be called from a URL • http:…/EMPLOYEE/EMPL/s/WEBLIB_ADS_FB.ISCRIPT1 .FieldFormula.IScript_GetFriends • Takes no parameters and does not return a value Function IScript_GetFriends() ... End-Function; • Contained in a record named WEBLIB_XXXXXXXX • Provides access to %Request and %Response © 2008 Oracle Corporation – Proprietary and Confidential
34.
What can they
Do? • Custom user interfaces – Not bound to Page/Component paradigm • Ajax/Flex/Applet request/response handlers – Serve JSON, XML, or HTML in response to Ajax requests • Excellent for testing PeopleCode snippets • Just about anything… but choose wisely (see disadvantages) © 2008 Oracle Corporation – Proprietary and Confidential
35.
IScript Examples
• Bookmarklets – Turn on session tracing – Switch the language – Switch users – Get component CREF name – Lookup component search record • Data source for a Flex grid • Data source for an extjs Ajax grid (http://extjs.com/) © 2008 Oracle Corporation – Proprietary and Confidential
36.
Get Component Search
Record IScript Example • IScript to query database • JavaScript Bookmarklet to gather parameters © 2008 Oracle Corporation – Proprietary and Confidential
37.
The IScript
(Declare function and variables) Function IScript_GetSearchRecname() Local string &menu = %Request.GetParameter("m"); Local string &component = %Request.GetParameter("c"); Local string &market = %Request.GetParameter("mk"); Local string &recname; Local string &barname; Local boolean &override = True; REM continued on next slide; © 2008 Oracle Corporation – Proprietary and Confidential
38.
The IScript
(Continued – Query the Database) REM continued from previous slide; REM ** select search record name override from menu defn; SQLExec("SELECT SEARCHRECNAME, BARNAME FROM PSMENUITEM WHERE MENUNAME = :1 AND PNLGRPNAME = :2 AND MARKET = :3", &menu, &component, &market, &recname, &barname); If (None(&recname)) Then &override = False; REM ** select search record name from component; SQLExec("SELECT SEARCHRECNAME FROM PSPNLGRPDEFN WHERE PNLGRPNAME = :1 AND MARKET = :2", &component, &market, &recname); End-If; REM continued on next slide; © 2008 Oracle Corporation – Proprietary and Confidential
39.
The IScript
(Continued – Write the response) REM continued from previous slide; %Response.SetHeader("Content-Type", "text/plain"); %Response.Write("The search record is " | &recname); If (&override) Then %Response.Write(" and is overridden on menu " | &menu | " in bar " | &barname); End-If; %Response.Write("."); End-Function; © 2008 Oracle Corporation – Proprietary and Confidential
40.
The Bookmarklet
javascript: (function(){ var v1 = frames['TargetContent'].strCurrUrl; // parse the menu, component, market var v2 = v1.match( //c/([w_]+?).([w_]+?).([w_]+?)b/); // parse the url components var v3 = v1.match( /^(https?://)(.+?/).+?/(.+?/)(.+?/)(.+?/)/); // open the new results window window.open(v3[1] + v3[2] + 'psc/' + v3[3] + v3[4] + v3[5] + 's/WEBLIB_ADS_UTIL.ISCRIPT1.FieldFormula.IScript_GetSearchRecname?m= ' + v2[1] + '&c=' + v2[2] + '&mk=' + v2[3], 'results', 'width=400,height=100'); })(); © 2008 Oracle Corporation – Proprietary and Confidential
41.
The Bookmarklet
Compressed javascript:(function(){var v1=frames['TargetContent'].strCurrUrl;var v2=v1.match(//c/([w_]+?).([w_]+?).([w_]+?)b/);var v3=v1.match(/^(https?://)(.+?/).+?/(.+?/)(.+?/)(.+?/)/);wind ow.open(v3[1]+v3[2]+'psc/'+v3[3]+v3[4]+v3[5]+'s/WEBLIB_ADS_UTIL.ISC RIPT1.FieldFormula.IScript_GetSearchRecname?m='+v2[1]+'&c='+v2[2]+' &mk='+v2[3],'results', 'width=400,height=100');})() © 2008 Oracle Corporation – Proprietary and Confidential
42.
Advantages of IScripts
• Unstructured Request/Response handling – PeopleCode version of JSP/ASP – Very few rules • Full PeopleCode/Database access • Leverage PeopleSoft security model • Great for non-UI development © 2008 Oracle Corporation – Proprietary and Confidential
43.
Disadvantages of IScripts
• No META-DATA • No upgrade • No component processor – Event processing • More difficult to develop and maintain © 2008 Oracle Corporation – Proprietary and Confidential
44.
<Insert Picture Here>
Ajax © 2008 Oracle Corporation – Proprietary and Confidential
45.
Keep the User
Logged In Ajax Replacement for Timeout Warning • Relevant JavaScript variables timeOutURL warningTimeoutMilliseconds timeoutWarningID • Clear the existing timeout and timeout warning window.clearTimeout(timeoutWarningID); window.clearTimeout(timeoutID); • Ajax request to reset timeout at warning timeout interval // Ajax URL that will reset the timeout on the server timeOutURL.replace(/expire$/, "resettimeout"); • Set timeout interval low (5 min) and warning interval low (4 min) © 2008 Oracle Corporation – Proprietary and Confidential
46.
Keep the User
Logged In The JavaScript Globals /* clear old timeout after 30 seconds * macs don't set timeout until 1000 ms */ window.setTimeout('ads_setupTimeout()', 30000); var ads_timeoutIntervalId; var ads_resetUrl = null; © 2008 Oracle Corporation – Proprietary and Confidential
47.
Keep the User
Logged In The Setup Function function ads_setupTimeout() { /* some pages don't have timeouts defined */ if(typeof(timeOutURL) != "undefined") { if(timeOutURL.length > 0) { ads_resetUrl = timeOutURL.replace(/expire$/, "resettimeout"); if(totalTimeoutMilliseconds != null) { window.clearTimeout(timeoutWarningID); window.clearTimeout(timeoutID); ads_timeoutIntervalId = window.setInterval('ads_resetTimeout()', warningTimeoutMilliseconds); } } } } © 2008 Oracle Corporation – Proprietary and Confidential
48.
Keep the User
Logged In Injection Methods • Modify the header HTML object – PeopleTools Header: PORTAL_UNI_HEADER_NNS (potential upgrade issue) – Enterprise Portal Header: • PAPPBR_HTMLHDR4_TOOLS • Custom HTML object • Monkeygrease (http://monkeygrease.org) – Servlet filter that allows you to inject HTML into the PeopleSoft response © 2008 Oracle Corporation – Proprietary and Confidential
49.
Pagelet Ajax Example
Facebook (Social Networking) • Putting it all together – Java API, Ajax UI, IScripts © 2008 Oracle Corporation – Proprietary and Confidential
50.
References
• Bookmarklets – http://www.subsimple.com/bookmarklets/default.asp • Excellent tutorial, rules, and builder – http://www.bookmarklets.com/ • Ajax – http://jquery.org – http://monkeygrease.org • Blogs with PeopleTools Tips – http://jjmpsj.blogspot.com (My blog) – http://blog.greysparling.com/ – http://blogs.oracle.com/peopletools/ © 2008 Oracle Corporation – Proprietary and Confidential
51.
© 2008 Oracle
Corporation – Proprietary and Confidential
52.
The preceding is
intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. © 2008 Oracle Corporation – Proprietary and Confidential
53.
© 2008 Oracle
Corporation – Proprietary and Confidential
54.
© 2008 Oracle
Corporation – Proprietary and Confidential
Baixar agora