2014-10-04 Alta

SAP is one of the most advanced computerised business systems in the world. Many IT professionals have built life-long careers around this complex application and are considered to be top experts in the industry. So it was a welcome validation that one school leaver’s father, himself a SAP programmer, advised his son to attend GetCertified’s Java development course.

Java is a programming language favoured by corporations due to its robust security, technical detail, and ability to easily process large amounts of data. It is also used extensively to write Android apps and, of course, SAP programs.

The student hoped to follow in his father’s footsteps and approached him for advice on how to get started. While researching available study avenues, the elder came across GetCertified’s web site and reviewed the details of our Basic and Advanced Java courses. Impressed by the course content, he encouraged his son to enrol.

Although the student’s matric math marks were average, his aptitude test and face-to-face interviews revealed a strong capability to master Java, and he was accepted on this basis.

The student himself had no previous programming experience, having only recently matriculated. He found the initial course difficult as he grappled with the basics of programming as well as the Java language. However, he commends his lecturer, Arnold Graaff, for helping him gain the insight needed to succeed. “Arnold was always ready to provide me with additional mentoring,” he says. Under that tutelage, by the time the student tackled his practical project in the advanced course, he had a solid understanding of Java and general programming principles.

Graaff’s own qualifications – a BSc in Computer Science with Honours and 30 years in the IT industry – make him the perfect instructor.

After training, all participants register to sit for the internationally recognised Oracle Certified Associate Java exam and Oracle Certified Professional Java exam. The student achieved an outstanding 96% pass at his first sitting. Total time studying was 6 months.

After exams, he was afforded the opportunity to work on a 6 month contract with BMW South Africa as a junior Java developer. Should his work meet their standard, the company will consider offering him a permanent position.

GetCertified partners with Compuways – a top IT recruitment company placing tech personnel since 1990 – to find positions for students who successfully complete the course. “Junior Java developers are in demand and we have standing orders for their skills, enabling us to place them very quickly” says Graaff.

Bursaries or study loans are available on request to applicants who passed pure maths in matric, or who perform favourably in GetCertified’s aptitude test and face-to-face interviews.

For course details, visit www.getcertified.co.za.


About GetCertified IT Training

Johannesburg-based GetCertified IT Training was established in 2004 as a subsidiary of Compuways IT Consulting. The company provides targeted, quality IT training to two markets: IT professionals who want to cross-train themselves to improve their career prospects, and individuals wanting to enter the IT job market for the first time. All courses are aligned to recognised international certification syllabi and are designed to achieve a level of practical proficiency required by prospective employers.

2014-07-04 Arnold
Here is my story.
I come from a call centre environment and I was really tired of it, so I wanted to do programming on a full-time basis and had no prior education or experience in any IT field and I did the bootcamp from the 1st of July last year and got my Java international(SCJP 6) on the 10th of December there after took a few weeks to complete my java project. Which was completed at the end of Jan this year, I have to be honest with you I don’t look over my shoulders, I’m thinking its the best decision I have ever made, because shortly there after I got 2 interviews. I currently work as a junior software developer at one of the companies.
If you ask me I would say, “It doesn’t get any better than this”, its the ultimate job satisfaction.
Kind regards,


2014-06-19 Alta
Java / J2EE Business Component Developer for ORACLE Certification (OCBCD) 

You should be at the Advanced Java Programmer level.
Intended Audience
This course covers EJB 3.0 required to use on a practical Java project and also to pass the SUN exam. We not only try to help you to pass the exam, but teach it in a way you can use it in the real world.
After this course you should be able to Pass the Sun Certified Business Component Developer Exam and also be able to use EJB’s in the way it was intended for your projects at work.
Further Training
Further Java Certification courses.
Course Material
Included in the course price.

Course Info

The EJB 3.0 Standard

1. Introduction

  • The Problem Domain
  • Breaking Up Responsibilities
  • Code Smart, Not Hard
  • The Enterprise JavaBeans™ 3.1 Specification

2. Component Types

  • Server-Side Component Types
  • Session Beans
  • Message-Driven Beans (MDBs)
  • Entity Beans
  • The Java Persistence Model
  • The Model Isn’t Everything

3. Container Services

  • Dependency Injection (DI)
  • Concurrency
  • Instance Pooling/Caching
  • Transactions
  • Security
  • Timers
  • Naming and Object Stores
  • Interoperability
  • Lifecycle Callbacks
  • Interceptors
  • Platform Integration
  • Bringing It Together

4. Developing Your First EJBs

  • Step 1: Preparation
  • Definitions
  • Naming Conventions
  • Conventions for the Examples
  • Step 2: Coding the EJB
  • The Contract
  • The Bean Implementation Class
  • Out-of-Container Testing
  • Integration Testing

5. The Stateless Session Bean

  • The XML Deployment Descriptor
  • SessionContext
  • EJBContext
  • The Lifecycle of a Stateless Session Bean
  • The Does Not Exist State
  • The Method-Ready Pool
  • Example: The EncryptionEJB
  • The Contract: Business Interfaces
  • Application Exceptions
  • Bean Implementation Class
  • Accessing Environment Properties (Injection and Lookup)
  • Asynchronous Methods

6. The Stateful Session Bean

  • The Lifecycle of a Stateful Session Bean
  • The Does Not Exist State
  • The Method-Ready State
  • The Passivated State
  • Example: The FileTransferEJB
  • The Contract: Business Interfaces
  • Exceptions
  • Bean Implementation Class
  • POJO Testing Outside the Container
  • Integration Testing

7. The Singleton Session Bean

  • Concurrency
  • Shared Mutable Access
  • Container-Managed Concurrency
  • Bean-Managed Concurrency
  • Lifecycle
  • Explicit Startup
  • Example: The RSSCacheEJB
  • Value Objects
  • The Contract: Business Interfaces
  • Bean Implementation Class

8. Message-Driven Beans

  • JMS and Message-Driven Beans
  • JMS as a Resource
  • JMS Is Asynchronous
  • JMS Messaging Models
  • Learning More About JMS
  • JMS-Based Message-Driven Beans
  • @MessageDriven
  • The Lifecycle of a Message-Driven Bean
  • The Does Not Exist State
  • The Method-Ready Pool
  • Connector-Based Message-Driven Beans
  • Message Linking
  • Session Beans Should Not Receive Messages
  • The JMS APIs
  • Example: The StatusUpdateEJBs

9. Persistence: EntityManager

  • Entities Are POJOs
  • Managed Versus Unmanaged Entities
  • Persistence Context
  • Packaging a Persistence Unit
  • The Persistence Unit Class Set
  • Obtaining an EntityManager
  • EntityManagerFactory
  • Obtaining a Persistence Context
  • Interacting with an EntityManager
  • Example: A Persistent Employee Registry
  • A Transactional Abstraction
  • Persisting Entities
  • Finding and Updating Entities
  • Removing Entities
  • refresh()
  • contains() and clear()
  • flush() and FlushModeType
  • Locking
  • unwrap() and getDelegate()

10. Mapping Persistent Objects

  • The Programming Model
  • The Employee Entity
  • The Bean Class
  • XML Mapping File
  • Basic Relational Mapping
  • Elementary Schema Mappings
  • Primary Keys
  • @Id
  • Table Generators
  • Sequence Generators
  • Primary-Key Classes and Composite Keys
  • Property Mappings
  • @Transient
  • @Basic and FetchType
  • @Lob
  • @Temporal
  • @Enumerated
  • @Embedded Objects

11. Entity Relationships

  • The Seven Relationship Types
  • One-to-One Unidirectional Relationship
  • One-to-One Bidirectional Relationship
  • One-to-Many Unidirectional Relationship
  • Many-to-One Unidirectional Relationship
  • One-to-Many Bidirectional Relationship
  • Many-to-Many Bidirectional Relationship
  • Many-to-Many Unidirectional Relationship
  • Mapping Collection-Based Relationships
  • Ordered List-Based Relationship
  • Map-Based Relationship
  • Detached Entities and FetchType
  • Cascading
  • ALL
  • When to Use Cascading

12. Entity Inheritance

  • Single Table per Class Hierarchy
  • Advantages
  • Disadvantages
  • Table per Concrete Class
  • Advantages
  • Disadvantages
  • Table per Subclass
  • Advantages
  • Disadvantages
  • Mixing Strategies
  • Nonentity Base Classes
 13. Queries, the Criteria API, and JPA QL

  • Query API
  • Parameters
  • Date Parameters
  • Paging Results
  • Hints
  • FlushMode
  • JPA QL
  • Abstract Schema Names
  • Simple Queries
  • Selecting Entity and Relationship Properties
  • Constructor Expressions
  • The IN Operator and INNER JOIN
  • Fetch Joins
  • Using DISTINCT
  • The WHERE Clause and Literals
  • The WHERE Clause and Operator Precedence
  • The WHERE Clause and Arithmetic Operators
  • The WHERE Clause and Logical Operators
  • The WHERE Clause and Comparison Symbols
  • The WHERE Clause and Equality Semantics
  • The WHERE Clause and BETWEEN
  • The WHERE Clause and IN
  • The WHERE Clause and IS NULL
  • The WHERE Clause and IS EMPTY
  • The WHERE Clause and MEMBER OF
  • The WHERE Clause and LIKE
  • Functional Expressions
  • The ORDER BY Clause
  • Bulk UPDATE and DELETE
  • Native Queries
  • Scalar Native Queries
  • Simple Entity Native Queries
  • Complex Native Queries
  • Named Queries
  • Named Native Queries

14. Entity Callbacks and Listeners

  • Callback Events
  • Callbacks on Entity Classes
  • Entity Listeners
  • Default Entity Listeners
  • Inheritance and Listeners

15. Security 

  • Authentication and Identity
  • Authorization
  • Example: A Secured School
  • The Business Interface
  • Assigning Method Permissions
  • Programmatic Security
  • The RunAs Security Identity

16. JNDI, the ENC, and Injection

  • Global JNDI
  • The JNDI ENC
  • What Can Be Registered in the JNDI ENC?
  • How Is the JNDI ENC Populated?
  • How Are Things Referenced from the ENC?
  • Reference and Injection Types
  • EJB References
  • EntityManagerFactory References
  • EntityManager References
  • Resource References
  • Resource Environment and Administered Objects
  • Environment Entries
  • Message Destination References

17. Transactions

  • ACID Transactions
  • Example: The BlackjackEJB
  • Helper EJBs for Testing Transactions
  • Is the BlackjackEJB Atomic?
  • Is the BlackjackEJB Consistent?
  • Is the BlackjackEJB Isolated?
  • Is the BlackjackEJB Durable?
  • Declarative Transaction Management
  • Transaction Scope
  • Transaction Attributes
  • Transaction Propagation
  • Isolation and Database Locking
  • Dirty, Repeatable, and Phantom Reads
  • Database Locks
  • Transaction Isolation Levels
  • Balancing Performance Against Consistency
  • Optimistic Locking
  • Programmatic Locking
  • Nontransactional EJBs
  • Explicit Transaction Management
  • Transaction Propagation in Bean-Managed Transactions
  • Heuristic Decisions
  • UserTransaction
  • Status
  • EJBContext Rollback Methods
  • Exceptions and Transactions
  • Application Exceptions Versus System Exceptions
  • Transactional Stateful Session Beans
  • The Transactional Method-Ready State
  • Conversational Persistence Contexts

18. Interceptors

  • Intercepting Methods
  • Interceptor Class
  • Applying Interceptors
  • Interceptors and Injection
  • Intercepting Lifecycle Events
  • Custom Injection Annotations
  • Exception Handling
  • Aborting a Method Invocation
  • Catch and Rethrow Exceptions
  • Interceptor Lifecycle
  • Bean Class @AroundInvoke Methods

19. Timer Service

  • Example: A Batch Credit Card Processing System
  • The Business Interface
  • javax.ejb.ScheduleExpression and @javax.ejb.Schedule
  • The Bean Implementation Class
  • The TimerService
  • The Timer
  • Transactions
  • Stateless Session Bean Timers
  • Message-Driven Bean Timers

20. EJB 3.1: Web Services Standards

  • Web Services Overview
  • XML Schema and XML Namespaces
  • XML Schema
  • XML Namespaces
  • SOAP 1.1
  • Web Services Styles
  • Exchanging SOAP Messages with HTTP
  • Now You See It, Now You Don’t
  • WSDL 1.1
  • The <definitions> Element
  • The <portType> and <message> Elements
  • The <types> Element
  • The <binding> and <service> Elements
  • UDDI 2.0
  • From Standards to Implementation

21. EJB 3.1 and Web Services

  • Accessing Web Services with JAX-RPC
  • Generating JAX-RPC Artifacts from WSDL
  • Calling a Service from an EJB
  • The <service-ref> Deployment Element
  • The JAX-RPC Mapping File
  • Defining a Web Service with JAX-RPC
  • The WSDL Document
  • The Service Endpoint Interface
  • The Stateless Bean Class
  • The Deployment Files
  • Using JAX-WS
  • The @WebService Annotation
  • The @WebMethod Annotation
  • The @SOAPBinding Annotation
  • The @WebParam Annotation
  • The @WebResult Annotation
  • The @OneWay Annotation
  • Separating the Web Services Contract
  • The Service Class
  • The Service Endpoint Interface
  • The @WebServiceRef Annotation
  • Other Annotations and APIs
  • JAXB
  • Taking JAXB Further
  • Conclusion


SCBCD Example

Open SCBCD Example


Duration and pricing
  • Full-time over 5 days (R8995 excl VAT)
  • Part-time over 4 weeks (2 nights per week, 3 hour sessions) (R11995 excl Vat) or 8 Saturdays, 3 hour sessions) (R11995 excl Vat)
  • Distance-learning over up to 6 months (R9995 excl Vat)


Upon successfully completion of this course we will issue you with an attendance certificate.
You may write our Mock exam which, if you pass will qualify you for the competency certificate.


On the calender on this page below. This course is repeated approximately once every 6 weeks, unless a customised specific booking is requested via email.
If your browser doesn’t display the calendar below, please click on this link or try using Google Chrome, alternatively please enquire via our ‘Contact Us’ page.



You can download the course registration form on our home page or by clicking here