Java Enterprise Edition Training Classes in Training/Los Angeles,

Learn Java Enterprise Edition in Training/Los Angeles and surrounding areas via our hands-on, expert led courses. All of our classes either are offered on an onsite, online or public instructor led basis. Here is a list of our current Java Enterprise Edition related training offerings in Training/Los Angeles: Java Enterprise Edition Training

We offer private customized training for groups of 3 or more attendees.

Java Enterprise Edition Training Catalog

cost: $ 2290length: 5 day(s)
This course provides hands-on and in-depth coverage on configuring and managing WildFly 14 and JBoss EAP 7.2 ...
cost: $ 1690length: 4 day(s)
The course starts with a quick refresher on server structure, architecture, and usage. It then moves on to covering the management tools in depth, with special focus on the CLI - its management structure, how to use it, and how to write scripts for it. It includes coverage of managing the HornetQ messaging subsystem, RBAC (Role Based Access Control), and in-depth coverage of clustering that ...
cost: $ 2250length: 4 day(s)
This course covers advanced topics in administering the JBoss family of application servers. It provides ...
cost: $ 2250length: 4 day(s)
This course is intended for individuals who are Java programmers and have worked with databases and with object-oriented programming techniques, who are now ready to create more complex and advanced programs using Java SE 7. ...
cost: $ 2250length: 5 day(s)
Java Enterprise Edition (JEE) is a powerful platform for building web and database-driven applications. This course provides the information you need to design and build your own data-driven web applications. You'll learn the details of the core JEE Web and database technologies and how to leverage the strengths of each. You'll also be introduced to other important web-based technologies such as ...
cost: $ 2250length: 5 day(s)
This course shows experienced Java programmers how to build RESTful web services using the Java API for RESTful Web Services, or JAX-RS. We develop a clear sense of the key concepts of REST -- ultimately the thorough and thoughtful use of URLs, HTTP methods, and media types to design and implement scalable and maintainable enterprise services. Then we dive into the elegant JAX-RS standard for ...
cost: $ 1290length: 3 day(s)
This course provides thorough coverage of the EJB3 technology - presented in a clear and effective manner. It starts with the basic concepts and APIs of EJB and then continues on with complex topics such as message driven beans and transactions. New concepts such as the use of annotations and the use of Dependency Injection to initialize references are covered in depth. The course also includes ...
cost: $ 2250length: 5 day(s)
The Enterprise JavaBeans 3 specification is a deep overhaul of the EJB specification that improved the EJB architecture by reducing its complexity from the developer's point of view. It leverages annotations and Object-Relational Mapping (ORM) technologies to eliminate the dependence on complex EJB APIs, allow POJO (Plain Old Java Object) based development, and provide an effective technology ...
cost: $ 2250length: 4 day(s)
This course provides thorough coverage of the EJB3 technology - presented in a clear and effective manner. It starts with the basic concepts and APIs of EJB and then continues on with complex topics such as message driven beans and transactions. New concepts such as the use of annotations and the use of Dependency Injection to initialize references are covered in depth. The course also includes ...
cost: $ 2250length: 5 day(s)
This course provides thorough coverage of the EJB3 technology - presented in a clear and effective manner. It starts with the basic concepts and APIs of EJB and then continues on with complex topics such as message driven beans and transactions. New concepts such as the use of annotations and the use of Dependency Injection to initialize references are covered in depth. The course also includes ...
cost: $ 1290length: 3 day(s)
Hibernate is a 3 day open source object/relational (OR) persistence and query service for Java. Hibernate lets you develop persistent classes following common Java idioms - including association, inheritance, polymorphism, composition and the Java collections framework. The Hibernate Query Language, designed as a minimal object-oriented extension to SQL, provides an elegant bridge between the ...
cost: $ 1290length: 3 day(s)
Struts is an open source, Model-View-Controller (MVC) framework developed by The Apache Software Foundation as part of its Jakarta project. Struts is built on top of JSP, Servlets, and custom tag libraries. After reading the first J2EE Blueprints from Sun with their explanation of MVC and how to accomplish it with custom tags, Servlets, and JSP, one can clearly see that Struts is a manifestation ...
cost: $ 1290length: 3 day(s)
Struts addresses many major issues in using vanilla Servlets/JSP to build web systems. It solves the problem of controller complexity by removing the workflow logic from the Servlets, and directing workflow in an XML configuration file. Struts improves on the limited form support in JSP by adding numerous capabilities to form processing including easy validation, easy error display, and the ...
cost: $ 2250length: 3 day(s)
This three-day course will get you up to speed with JSF in a very short time. It includes all the important concepts, as well as numerous hands on labs that will have you building working JSF applications very quickly. It covers all the important architectural concepts, as well as providing practical instruction on how to use the many capabilities of the JSF framework. The course includes a ...
cost: $ 2250length: 4 day(s)
This course will get you up to speed with JSF 2 in a very short time. It includes all the important concepts, as well as numerous hands on labs that will have you building working JSF applications very quickly. It covers all the important architectural concepts, as well as providing practical instruction on how to use the many capabilities of the JSF framework. It includes coverage of all ...
cost: $ 2250length: 3 day(s)
This course will get you up to speed with JSF 2 in a very short time. It includes all the important concepts, as well as numerous hands on labs that will have you building working JSF applications very quickly. It covers all the important architectural concepts, as well as providing practical instruction on how to use the many capabilities of the JSF framework. It includes coverage of all ...
cost: $ 1290length: 3 day(s)
This course is a comprehensive tutorial in the design and programming of Java Web applications using servlets and JSP. It starts with Web application architecture, usage, and deployment. It teaches about the capabilities of servlets, servlet architecture, and session management, JSP structure and syntax, and good design techniques for using them. Extensive coverage is included on how to ...
cost: $ 2250length: 3 day(s)
Web services are designed to allow Web-based access to distributed software and business services. They bring a standard, open service architecture to component development that allows them to be accessed over the Web with standard protocols such as HTTP and standard XML formats for messages and service descriptions. This course will give you a thorough understanding of the current Web services ...
cost: $ 2250length: 3 day(s)
As part of the complete overhaul of the Enterprise JavaBeans (EJB) specification, database persistence was broken out into a completely separate specification, the Java Persistence API (JPA). JPA replaces entity beans with powerful new Object-Relational Mapping (ORM) capabilities based on proven technologies such as Toplink and Hibernate. This course includes all important features from JPA 2, ...
cost: $ 390length: 1 day(s)
This intermediate-level course gives JSF developers a rapid introduction to the ICEfaces component library and Ajax framework. We begin with backgrounders in both JSF custom component architecture and Ajax development, as these are essential to understanding both the purpose and the design of ICEfaces. Then, the bulk of class time is occupied in practical, hands-on exercise with ICEfaces. We ...
cost: $ 990length: 3 day(s)
Spring 5 provides an evolutionary advance of Spring’s powerful capabilities. This course introduces these capabilities, as well as providing guidelines on when and how to use them. It includes coverage of the three main configuration styles: Java-based (@Configuration), annotation-based (@Component), and the traditional XML-based configuration that may still play an important role ...
cost: $ 2190length: 5 day(s)
This course includes coverage of all the core Spring 5 and JPA 2 capabilities, as well as the integration capabilities provided by Spring. It provides extensive coverage of using Spring and JPA together, as well as using Spring Boot for dependency management and creating JPA-based repositories using Spring Data. All capabilities are practiced via an extensive set of hands-on labs. Spring 5 ...
cost: $ 2250length: 5 day(s)
Spring 5 provides an evolutionary advance of Spring’s powerful capabilities. This course introduces the many ...
cost: $ 2250length: 4 day(s)
This intense four-day course teaches Javaâ?¢ programmers how to develop enterprise applications using the ease of development features introduced in Java EE 5 and 6. Students will learn how to create dynamic web applications with JSP, Java Servlets, JSTL, and JSF. Next, they will learn how to send and receive asynchronous messages with the Java Message Service. Students ...
cost: $ 2250length: 2 day(s)
This intensive, hands-on, two-day course teaches Java web developers how to create JavaServer Faces (JSF) 2.0 based web applications. After a quick introduction to the technology, students will learn how to create managed beans and how to use the JSF Core and HTML tag libraries to generate dynamic HTML content. They will then learn the JSF lifecycle and how to trigger server-side event handler ...
cost: $ 2250length: 5 day(s)
This comprehensive course shows Java programmers how to build web applications with JavaServer Faces 2.0. We develop the best-practice concepts that are formalized by the JSF architecture, from model/view/controller to the UI component framework and request-handling lifecycle. Students start to discover that there is a "JSF way" of doing things, and we learn not just APIs and tag ...
cost: $ 1690length: 4 day(s)
This course offers a comprehensive and detail-oriented treatment of Hibernate 4.0 and the Java Persistence API (JPA) 2.0 for developers interested in implementing persistence tiers for enterprise applications. We cover JPA basics including simple object/relational concepts and annotations, persistence contexts and entity managers, and configuration via persistence.xml. We get a good grounding in ...
cost: $ 1690length: 1 day(s)
This comprehensive course puts the experienced Java developer in good position to build sophisticated web applications using JavaServer Faces and the ICEfaces component library. A first module introduces the best-practice concepts of MVC architecture and command-object encapsulation that propel the JSF architecture. Students create JSF applications by organizing their pages as JSF component trees, ...
cost: $ 2250length: 5 day(s)
This comprehensive course shows experienced developers of Java EE applications how to secure those applications and to apply best practices with regard to secure enterprise coding. Authentication, authorization, and input validation are major themes, and students get good exposure to basic Java cryptography for specific development scenarios, as well as thorough discussions of HTTPS configuration ...
cost: $ 2250length: 4 day(s)
This course shows Java web developers how to secure their applications and to apply best practices with regard to secure enterprise coding. Authentication, authorization, and input validation are major themes, and students get good exposure to basic Java cryptography for specific development scenarios, as well as thorough discussions of HTTPS configuration and certificate management, error ...
cost: $ 1290length: 3 day(s)
This three-day course will teach students how to use Java Struts as a framework to develop web applications that follow the Model/View/Controller design pattern. The topics cover the components of Struts that are available from the Jakarta project of the Apache Foundation. The course illustrates what the components provide and use of them. ...
cost: $ 790length: 2 day(s)
This two-day module introduces the JSTL, or JSP Standard Tag Library, actually a set of four custom tag libraries that establish a portable standard for common processing tasks in JSP. JSTL is a major part of the new scriptless authoring style encouraged (and enabled) by the JSP 2.0 specification. This module covers all four JSTL libraries in depth: *The core actions, which support JSP ...

JUnit, TDD, CPTC, Web Penetration Classes

cost: $ 2250length: 2 day(s)
This course introduces experienced Java developers to the fundamentals and best practices in unit testing. It uses the JUnit 5 and Mockito libraries, both of which are ubiquitous in the Java community. It is intended for both developers who are new to testing, as well as those who are already familiar with it, but want more experience with testing using JUnit 5.   ...

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Blog Entries publications that: entertain, make you think, offer insight

Anonymous reprint from Quora (career advice)

Occasionally we come across a unique profound perspective that makes one stop and really listen. The following advice is one such as this.

  1. Small actions compound: Reputation, career trajectory, and how others perceive you in the workplace can come down to a handful of things/moments that seem inconsequential/small at the time but compound. Random Thought: Redwood trees come from small seeds and time. With every action you're planting small seeds and these seeds can grow into something bigger (sometimes unimaginably bigger) over time. Don't let small basic mistakes sabotage your reputation because it only takes a few small snafus for people to lose confidence/trust in your ability to do more important tasks. Trust is a fragile thing and the sooner people can trust you the faster they'll give you more responsibility. Some Examples: Being on time (always) or early (better); spending an extra 10-15 minutes reviewing your work and catching basic mistakes before your boss does; structuring your work so it's easy for others to understand and leverage (good structure/footnotes/formatting); taking on unpleasant schleps/tasks (volunteer for them; don't complain; do it even when there's no apparent benefit to you)  

  2. Rising tide lifts all boats: Fact: You don't become CEO of a multi-billion dollar public company in your 30s based purely on ability/talent. Your career is a boat and it is at the mercy of tides. No matter how talented you are it's a lot harder to break out in a sluggish situation/hierarchy/economy than a go-go environment. Even if you're a superstar at Sluggish Co., your upside trajectory (more often than not) is fractional to what an average/below average employee achieves at Rocket Ship Co. There's a reason Eric Schmidt told Sheryl Sandberg to "Get on a Rocket Ship". I had colleagues accelerate their careers/income/title/responsibility simply because business demand was nose bleed high (go go economy) and they were at the right place at the right time to ride the wave. Contrast that to the 2008 bust where earnings/promotions/careers have been clamped down and people are thankful for having jobs let alone moving up. Yes talent still matters but I think people generally overweight individual talent and underweight economics when evaluating/explaining their career successes. Sheryl Sandberg Quote: When companies are growing quickly and they are having a lot of impact, careers take care of themselves. And when companies aren’t growing quickly or their missions don’t matter as much, that’s when stagnation and politics come in. If you’re offered a seat on a rocket ship, don’t ask what seat. Just get on.

  3. Seek opportunities where the outcome is success or failure. Nothing in between! You don't become a star doing your job. You become a star making things happen. I was once told early in my career that you learn the most in 1) rapidly growing organizations or 2) failing organizations.  I've been in both kinds of situations and wholeheartedly agree. Repeat. Get on a rocket ship. It'll either blow up or put you in orbit. Either way you'll learn a ton in a short amount of time. Put another way; seek jobs where you can get 5-10 years of work experience in 1-2 years.

  4. Career Tracks & Meritocracies don't exist: Your career is not a linear, clearly defined trajectory.  It will be messy and will move more like a step function.

  5. You will probably have champions and detractors on day 1: One interesting byproduct of the recruiting & hiring process of most organizations is it can create champions & detractors before you even start the job. Some folks might not like how you were brought into the organization (they might have even protested your hiring) and gun for you at every turn while others will give you the benefit of the doubt (even when you don't deserve one) because they stuck their neck out to hire you. We're all susceptible to these biases and few people truly evaluate/treat folks on a blank slate.

  6. You'll only be known for a few things. Make those labels count: People rely on labels as quick filters. Keep this in mind when you pick an industry/company/job role/school because it can serve as an anchor or elevator in the future. It's unfortunate but that's the way it is. You should always be aware of what your "labels" are.

  7. Nurture & protect your network and your network will nurture & protect you: Pay it forward and help people. Your network will be one of the biggest drivers of your success.

The Context Of Design Thinking And Its Application In Employee Skill Training

Design thinking is a crucial pillar in today’s problem-solving imperatives. In fact, it is being pursued as a unit course in various institutions across the globe, thus underlying its importance in aiding objective human thinking. It’s not a specific property for designers. Far from it, it has emerged as an innovative solution-seeking tool for all great inventors and innovators.
 
By description, it is a design methodology used for tackling complex problems that are virtually unknown or ill-defined, through a careful evaluation of the human needs involved, understandably restructuring the problem, by brainstorming to create many solutions, and by adopting a direct approach in testing and prototyping. It helps us come up with creative ways to solve nagging problems that stem from us and especially in the workplace setting.
 
The ‘overwhelmed/overburdened employee’ is a common term in HR offices across many organizations in the world. Employees are faced with a huge challenge in regards to coping with fast-paced technological and office changes in the working environment. This had led to a massive stagnation in productivity, prompting HR heads to look for new ways to reduce their employees’ stress and workload.
 
While evaluating many options, this model of thinking has posed as a helpful tool for HR managers when dealing with their vexed employees. IT training, in particular, has helped shape the productive realms of many companies out there.
 
Let’s explore how this thinking domain can be used to plan employee skill training:
 
Empathize
If you want to show concern for your employees, first empathize with their situation. Seek to understand the needs of the employees deeply, what they lack, what they need, and the challenges that they are likely facing. This will act as the basis of plotting the problem and working on the next phase of solving it.
 
You can collect data in this phase through empathy maps and journey maps. In the latter, you endeavor to steadily track the day-to-day activities and tasks of employees. This is achieved through observations or structured interviews. In turn, it aids in elevating the thinking process.
 
Through empathy maps, you ponder on collected findings and synthesize them keenly. Here, you seek to establish how an employee is thinking, their feelings, and insights into the probable root cause of the problem.
 
Define the Problem
After a comprehensive analysis of the collected data; the problem definition phase should follow. The idea here is to locate the underlying root of the problem concisely. HR should seek to utilize an analysis framework to help address problems affecting the holistic being of all employees. Therefore, each issue would require a list of underlying causes: lack of motivation, lack of knowledge/understanding, or just lack of skill.
 
Once the root cause(s) are clearly defined, a clear problem statement should be drawn up alongside performance goals that are firmly based on actual drivers. 
 
Think Solely About Employee-Based Solutions (iterative learning)
Conventionally, customers are at the heart of every organization’s dealings. They inspire and drive the company’s objectives because they are crucial in profit making. However, employees have greatly suffered while working ‘behind the scenes.’ Such situations have led to employees feeling discontent and work under immense pressure, which inevitably leads to underperformance. To avoid this, the experimental learning concept can be utilized by HR offices to engage employees more by creating solutions that directly suit the situations they encounter daily.
 
Here, trainers are removed as the center of focus. An iterative ‘reflection’ cycle is established to tap continuous employee feedback in a bid to sharpen their skills. This method helps employees adapt to new technology through a well established IT consulting network. In the long run, employees don’t forget how they handled a particular problem, and this effectively raises a firm’s productivity.
 
Support Employee Tasks with Simple Technology (Ideate)
The simplest way to support employee-working experience is by not sidelining them unprepared with changing technology processes. As an HR Manager, fully engage your employees when transitioning to new tech by making use of effective training or consulting services. Specific training needs can be assessed and addressed within the organization or with a third party industry expert. 
 
According to Deloitte’s 2016 Global Human Capital Trends Report, design thinking was isolated as crucial in crafting the employee experience. 79% of those interviewed identified it as imperative. However, almost a similar percentage agreed that a lot of compliance programs and training are still based on outdated modes of meetings and processes.
 
The report also recommended the need to put necessary consideration on employees through proper IT training for far colossal efficiency. One way to make this work is by drawing a connected roadmap of skills and information needed at certain work intervals. Shedding off overwhelming and irrelevant amounts of data for new employees is vital in retaining their concentration and output. What’s more, a customizable app can help employees undertake appropriate tasks at the specified time, thus resulting in higher revenue for the long term.
 
Implementing an Intuitive Tech Learning Approach (Ideate)
The basis of this argument is that not every employee is the same. All of them are differently gifted and shouldn’t be forced to use one inflexible technology or system that doesn’t cater to their individual needs in a buzzing work environment. This mode of critical thinking brings to life personas such that fictive employees representing a defined group of external employees are drawn up. In this set-up, the personas should be able to learn and work efficiently within their own small environment while quickly utilizing their own skill set and the required information to make things work.
 
An HR manager can replicate this working scenario through the use of role-plays. This can be achieved by conducting short-term soft skills training sessions to sharpen their ability to handle similar situations. In the case of new technology, video-replays on how to use it in a one-on-one customer scenario can help relieve the pressure and spur the employee to be more productive.
 
Prototype and Testing
Here, the HR Manager should run a couple of tests to ensure whether the desired model of skill training is working. One way to get started is by crafting a simple prototype of the technology required, probably as a single module to establish its viability.
 
The new technology should be vigorously tested during prototyping to pinpoint any leaks, disjoints, or performance issues. Structured walkthroughs can be implemented to help employees navigate the solution through proper IT training sessions.
 
What’s more, HR should conduct sessions to get the employees’ views, emotions, or feelings regarding the new solution. In case of any cause for concern, the prototype should be improved until it meets the intermediate needs of its users.
 
Iterations are also a common occurrence in this phase. Refinements and alterations are curved out to make sure that the final thing suits every employee in some understandable capacity.
 
Wrapping Up
Design thinking is crucial in any organizational setting in making sure that employees sync properly with the technology in place. This will go a long way in improving their productivity.

You may use the camera application on a regular basis. Taking photos of family gatherings, of the scenery around you, or just a self-photo with you and your friends. But, as you may find out, pressing that picture button on the screen is not the easiest thing to do. You may not hit it when you attempt to press it, or you aren’t sure if you pressed it at all.

In a recent update by Apple, the iPhone can now take photos without the use of that button. Although you may continue to use it, an easier method to take photos would definitely be pressing your volume buttons. When you have everyone situated, and ready to take a picture, you don’t have to move your finger over to the camera button. Just put your finger on one of the volume keys on the left hand side of your phone, and press it, and your iPhone should take the picture! It’s just that easy.

Python and Ruby, each with roots going back into the 1990s, are two of the most popular interpreted programming languages today. Ruby is most widely known as the language in which the ubiquitous Ruby on Rails web application framework is written, but it also has legions of fans that use it for things that have nothing to do with the web. Python is a big hit in the numerical and scientific computing communities at the present time, rapidly displacing such longtime stalwarts as R when it comes to these applications. It too, however, is also put to a myriad of other uses, and the two languages probably vie for the title when it comes to how flexible their users find them.

A Matter of Personality...


That isn't to say that there aren't some major, immediately noticeable, differences between the two programming tongues. Ruby is famous for its flexibility and eagerness to please; it is seen by many as a cleaned-up continuation of Perl's "Do What I Mean" philosophy, whereby the interpreter does its best to figure out the meaning of evening non-canonical syntactic constructs. In fact, the language's creator, Yukihiro Matsumoto, chose his brainchild's name in homage to that earlier language's gemstone-inspired moniker.

Python, on the other hand, takes a very different tact. In a famous Python Enhancement Proposal called "The Zen of Python," longtime Pythonista Tim Peters declared it to be preferable that there should only be a single obvious way to do anything. Python enthusiasts and programmers, then, generally prize unanimity of style over syntactic flexibility compared to those who choose Ruby, and this shows in the code they create. Even Python's whitespace-sensitive parsing has a feel of lending clarity through syntactical enforcement that is very much at odds with the much fuzzier style of typical Ruby code.

For example, Python's much-admired list comprehension feature serves as the most obvious way to build up certain kinds of lists according to initial conditions:

a = [x**3 for x in range(10,20)]
b = [y for y in a if y % 2 == 0]

first builds up a list of the cubes of all of the numbers between 10 and 19 (yes, 19), assigning the result to 'a'. A second list of those elements in 'a' which are even is then stored in 'b'. One natural way to do this in Ruby is probably:

a = (10..19).map {|x| x ** 3}
b = a.select {|y| y.even?}

but there are a number of obvious alternatives, such as:

a = (10..19).collect do |x|
x ** 3
end

b = a.find_all do |y|
y % 2 == 0
end

It tends to be a little easier to come up with equally viable, but syntactically distinct, solutions in Ruby compared to Python, even for relatively simple tasks like the above. That is not to say that Ruby is a messy language, either; it is merely that it is somewhat freer and more forgiving than Python is, and many consider Python's relative purity in this regard a real advantage when it comes to writing clear, easily understandable code.

And Somewhat One of Performance

training details locations, tags and why hsg

A successful career as a software developer or other IT professional requires a solid understanding of software development processes, design patterns, enterprise application architectures, web services, security, networking and much more. The progression from novice to expert can be a daunting endeavor; this is especially true when traversing the learning curve without expert guidance. A common experience is that too much time and money is wasted on a career plan or application due to misinformation.

The Hartmann Software Group understands these issues and addresses them and others during any training engagement. Although no IT educational institution can guarantee career or application development success, HSG can get you closer to your goals at a far faster rate than self paced learning and, arguably, than the competition. Here are the reasons why we are so successful at teaching:

  • Learn from the experts.
    1. We have provided software development and other IT related training to many major corporations since 2002.
    2. Our educators have years of consulting and training experience; moreover, we require each trainer to have cross-discipline expertise i.e. be Java and .NET experts so that you get a broad understanding of how industry wide experts work and think.
  • Discover tips and tricks about Java Enterprise Edition programming
  • Get your questions answered by easy to follow, organized Java Enterprise Edition experts
  • Get up to speed with vital Java Enterprise Edition programming tools
  • Save on travel expenses by learning right from your desk or home office. Enroll in an online instructor led class. Nearly all of our classes are offered in this way.
  • Prepare to hit the ground running for a new job or a new position
  • See the big picture and have the instructor fill in the gaps
  • We teach with sophisticated learning tools and provide excellent supporting course material
  • Books and course material are provided in advance
  • Get a book of your choice from the HSG Store as a gift from us when you register for a class
  • Gain a lot of practical skills in a short amount of time
  • We teach what we know…software
  • We care…
learn more
page tags
what brought you to visit us
Training/Los Angeles,  Java Enterprise Edition Training , Training/Los Angeles,  Java Enterprise Edition Training Classes, Training/Los Angeles,  Java Enterprise Edition Training Courses, Training/Los Angeles,  Java Enterprise Edition Training Course, Training/Los Angeles,  Java Enterprise Edition Training Seminar

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.