Transcript

Introduction to John Watson, SkillBuilders Director of Oracle Database Services

Oracle APEX Architecture and Listener Options 

 

Session 1 – Introducton to John Watson and SkillBuilders

 

>> Dave:  Welcome to another SkillBuilders webinar, everyone. Today you will learn about Oracle APEX Architecture, the Oracle APEX Listener Options and some deployment tips. Any technician involved in APEX configuration, database administrators, developers, network and Internet architects will benefit from this training.

 

[pause]

 

Today’s instructor is Oracle Certified Master, John Watson, SkillBuilders Director of Oracle Database Services. John provides database administration, support services to SkillBuilders customers, both our project works such as RAC and Data Guard implementations, and John fixes issues for customers enrolled in our 24 x 7 Oracle Support Program.

 

[pause]

 

John at SkillBuilders can also assist your company with APEX installations, configurations, security, and development. John is the author of three of the Oracle Press Exam Guides and holds eight Oracle Certifications, and is currently writing the Oracle Press 12c Guide. So we look forward to that soon.

 

[pause]

 

My name is Dave Anderson, SkillBuilders President and Oracle DBA. I will moderate today’s session. 

 

I’ll be looking for your questions in the chat window and we really hope you have a lot of questions. We’ll answer as many as we can. The way to get them in is to chat them in today. I recommend keeping your chat window open so that you can see the conversations going back and forth and some good questions and answers.

 

[pause]

 

Now I’d like to bring in John Watson for today’s session. Welcome, John.     

 

Copyright SkillBuilders.com 2017

×
Transcript

Tutorial Agenda

Oracle APEX Architecture and Listener Options

 

Session 2 – Tutorial Agenda 

 

>> John:  Thank you very much for the introduction, Dave. Now what we want to talk about today in this short lecture is options for Listener architectures for APEX applications. 

 

[pause]

 

I’m going to run through some basics here in this as well and just to set the background to make sure we’re all on the same page that the manual as it were. Because I found over the years that web listening architecture tends to be something that slips between domains at many IT shops. 

 

Setting up listeners should not be done by a database administrator team nor should it be part of the development domain. No one really seems to know and in some environment, it’s the head lead developers who manage the web listeners in other environments as the DBA who manages all system administration even manage the web listeners. 

 

It’s always split. There’s a role split between the two domains of development and administration in most circumstances. Some of what I’m going to go through may seem a bit trivial to developers, some of it may seem a bit trivial to administrators, but please bear with me on that. That’s just the way it is because the product does set between those two domains. 

 

I’ll begin by looking at what is the HTTP request-response cycle? We have to have a basic understanding and make sure we’re all on the same level with that so we can then see how HTTP is used to get to APEX applications. 

 

[pause]

 

I’ll run through what an APEX application is. It’s nothing magical. It’s just PL/SQL, the setup wizard for developing PL/SQL applications and I’ll run through how to design the PL/SQL web application from basics and then we’ll move on to APEX itself. 

 

Having understood how the APEX application works, we can then look at the options for the listening architecture, the way users actually connect to your APEX applications, the way developers connect to APEX applications. The three significant options for that, the embedded gateway using a module and Oracle supplied module for an Apache Web Listener or the APEX Listener which is a custom written servlet or in effect to servlet written specifically to handle APEX listening requests.

 

Copyright SkillBuilders.com 2017

×
Transcript

Understanding the HTTP Request / Response Cycle

Oracle APEX Architecture and Listener Options

 

Session 3 – The HTTP Request Response Cycle

 

>> John:  To begin with, the HTTP request-response cycle. HTTP is a stateless protocol. You issue an HTTP request using typically a post or get method. 

 

I’ll go to the most basic get method here. This shouldn’t be the URL. The URL doesn’t have to come from a browser of course, it can come from pretty much anything, but the URL just doesn’t get request. It contacts the web listener sending it a message requesting a page. The web listener does whatever is necessary and returns the page usually in the form of HTML but not necessarily. 

 

To break down what a URL actually is. You specify a protocol then delimiter colon, slash, slash (://), username delimiter colon (:) and the password and an at symbol (@), host.domain delimiter colon (:), port number delimiter a slash (/), then a path delimited with slash (/), filename with a dot (.) has a delimiter and then extension followed by a question mark (?) and then a set of parameters, parameter=value pass. Your entire URL may have all of these elements. It usually won’t. 

 

For example, a typical URL – I have on the slide just that. FTP – if I were to launch my browser

 

[pause]

 

and give it an FTP, type URL FTP://. I’ll log on. What might my log on be? Perhaps give it a username, Oracle. Password, Oracle. Not working high security here, @ and then my server .168.192.168.56.101 and see what we’ve got. 

 

I didn’t specify the entire URL at that point, just part of it. If we look down here, check my status line in the bottom. If I hover over hello world there, you’re seeing the status line at the bottom of the browser FTP://oracle:oracle is the username and password, @, the host name and then specifying a file helloworld.txt. Clicking on that, we get “message is sent” and back comes the content of the file. 

 

That’s all a URL is. You issue a URL, the client then hangs until the server side returns the page of HTML or whatever it may be. That will be a fairly basic URL. 

 

[pause]

 

In the APEX environment your URL is more likely going to be of this form. 

 

[pause]

 

You’ll be at the form http://machine, then a port typically 8080, then the path probably APEX or it could be something else, and then the / and then f and the question mark (?). What’s that – the f and the question mark? We’re breaking it down again. 

 

An example, I’ll go to http:// and the destination I’m going to go to, just at this point, one of Oracle’s demonstration sites. We could go to 

 

[pause]

 

APEX.oracle.com. I happen to know this listener is listening on port 80, the virtual path is being configured is pls/otn. This is part of the Oracle Technology Network. And then f as a filename. Remember after the filename, we can have a question mark (?) and the parameter string. The parameter string I will give it is p=31517. Machine name, port, path, filename f, parameter string p=31517. Send that URL off and we get back a page for a demonstration APEX application. 

 

[pause]

 

What actually happened when we ran that? The web listener on the other side received the HTTP request and path it. It looks at that path pls/otn and the web listener, whatever it is, maps that onto something else. In the case of my FTP URL, it maps it onto a filename and copied it back. In the case of an APEX Listener, that gets mapped onto a call to run a PL/SQL procedure. Which procedure? 

 

[pause]

 

The procedure called f, which is perhaps not the most helpful procedure but the procedure called f. What is f? 

 

[pause]

 

On any database where APEX being stored – if I select owner and object 5 from DBA objects where object name = f, this does need to be in quotes (“), we see there’s a public synonym and if we investigate further we see that’s mapped onto that procedure. Now we know that f in this state is not a file name, it’s a PL/SQL procedure. And what is it? That’s the procedure. 

 

This is the procedure, the f procedure, this is the heart of APEX. You invoke the procedure with optionally one or more parameters. I pass through one parameter which is p equals (=) and I gave it p=31517 and that is the page identifier. You request a page by name or by number and there are few other extras you’re going to add on to the p arguments which should be subsession identifier, a few other parameters you can drive it with, and in some circumstances you’ll set extra ones. 

 

That’s what an APEX application is. It’s a URL that invokes the f procedure, the f procedure then generates a page of HTML which is sent back to you. 

 

[pause]

 

How is that page generated? That becomes the next major point of discussion.

 

Copyright SkillBuilders.com 2017

×
Transcript

How an APEX Application Really Works (A Bit of Architecture)

Oracle APEX Architecture and Listener Options

 

Session 4 – What is an APEX Application?

 

>> John:  APEX itself is just a PL/SQL web application. The procedure generates pages of HTML for display in browsers. 

 

[pause]

 

We invoke the procedures through the web listener, through the GET or POST methods. I was demonstrating a very simple GET at that point. HTTP is the protocol of the browser and web listener. It does cause issues with session maintain sessions because HTTP is a stateless protocol and each contact from browser to the web listener is as far as the web listener is concerned a brand new contact, it has no memory, but APEX has techniques for maintaining or simulating states even though HTTP itself is stateless. 

 

Having reached the web listener, the web listener will forward the request onto the database over SQL Net or Oracle Net [01:04 inaudible] the correct term and then within the database server they execute the f procedure with all type of parameters that pass through on the URL. 

 

[pause]

 

How do we generate that page of HTML to get sent back to the browser? Several techniques, but you can do it the hard way. I’m going to do it the hard way just to demonstrate it, just to demonstrate what’s going on. That’s what the packages HTP and HTF. More cut packages OWA_UTIL, OWA_COOKIE, many, many more. These packages do make development much easier than if we’re designing HTML pages yourself character by character. These packages will do a lot of the work for you. 

 

[pause]

 

How does it work? What I’m going to do is proceed to a UNIX system, which I happen to have got here. 

 

[pause]

 

First off, we need a web listener. We need a web listener. We can’t use APEX at all. So lsnlctl status. Do we have anything listening? My database listener is monitoring ports 1521 and that’s it. There’s no HTTP listening going on here. 

 

The first thing I need to do is enable a listener for HTTP, sql plus /as sysdba and run a couple of packages, it will enable listening. We have a package called dbms_xdb. Describe it if you wish, desc dbms_xdb, and among other things, this gives us the ability to configure listeners for FTP and HTTP. I’m not interested at FTP at the moment, but I will enable and FTP port. Which port? 8008, I just picked that at random. 

 

[pause]

 

Once that call completes – if I return to my database listener – what do we see? 

 

[pause]

 

We see that I do now have listener 8008 is now listening for HTTP. I’ve set up a very basic HTTP listener. This, by the way, when we move on is effectively the embedded PL/SQL Gateway that I’m using at this point, which we’ll talk about in great detail a bit later on. 

 

I’ve enabled HTTP listening. Then I need to create the virtual path. Just remember when you issue a URL, you have to setup this thing. In this case, it was pls/otn. We have to create that as the path that can be made visible or available to users. 

 

[pause]

 

Again, within the database environment we have another package. This call here to dbms_epg creates what we call DAD. A DAD is a database access descriptor. Database access descriptor is just a logical name. It’s a logical name for a virtual path and I’m creating a virtual path scott for reasons I [04:23 inaudible] later on. 

 

[pause]

 

My dad is called scott dad, it generates or define the virtual path slash (/) scott. That’s the virtual path the main users will put into their browser when they get to the application. So instead of pls/otn they’re going to put in scott. 

 

Now I need to design my application. 

 

[pause]

 

I shall connect to the scott schema. Very simple application. 

 

[pause]

 

Take a look at – I’m not connected, am I – sqlplus scott/tiger. We’ll then connect scott/tiger. Pretty much copy/paste going on. 

 

[pause]

 

Now design my application, which at this point is going to be a pretty simple application. Create or replace procedure hello world as begin. 

 

Next package. This is a standard package, not part of APEX, htp.print. htp.print. If we look at the htp package – desc htp, it has a whole set of procedures and functions, procedure open table, procedure table header, procedure style, strike. Those of you who work with HTML a lot will recognize that what we’re doing here is we’re generating HTML text. 

 

[pause]

 

If we were to use htp, for example, these are the text with creating forms. I’m just using htp.print. What am I going to print? Hello world and then concatenate that to a time stamp. That’s a very, very simple procedure. Create and replace procedure hello world as begin, htp.print and your text string, end and compile. 

 

[pause]

 

I can try to invoke it. So if I go to my browser HTTP:// – moving on security. At this point, I am not going to put in a password. You will see the effect of not getting it to use a password first off, 192.168.56.101/8008. Just remember 8008 was the listening port I defined for HTTP at this point. 

 

The virtual path /scott. Why scott? Because that’s the virtual path I defined with the procedure called there. 

 

[pause]

 

Before this is going to work I need to associate log ons through that with a particular schema. One more call in the database, which will be scott, one more call to the database will be – and I’ll try straightaway without using any security and see if I can actually do with no security at all at this point. 

 

The procedure I wrote was called hello_world. No security, I got prompted for a log on. This is where I could’ve used a username and password in the URL itself. I’m going to log on as user scott, password tiger, and there we go. The procedure is executed, the hello world procedure is executed and returned the string that I specified there. If execute the URL again, you can’t see [08:05 inaudible]. If I click there, note the time 6:21:25, 6:21:43, 6:21:45. So I’m executing that procedure each time. 

 

[pause]

 

I don’t have too much time. I’ll make my application slightly more complicated but I’m trying to at this point, you can probably realize, is basically demystify what PL/SQL web applications are. 

 

[pause]

 

Here’s another example, another procedure. Create or replace procedure printtab and I’m giving this one an argument, tname varchar2. 

 

[pause]

 

I need to setup a variable at this point, dummy which is Boolean. That’s because the procedure I’m going to use returns a Boolean, so I need somewhere to put it, and then begin. Dummy = owa_util. I’ve used the owa_util package at this point. Owa_util has a wonderful procedure called tableprint and it will generate all the HTML printing a table with just one call. They’ll pass into it, tname, which is the variable, the argument being passed into my procedure. I’m sure you work out what this is going to do. It’s going to print out whatever table the end user requests to be printed. End, and see if it compiles. It does. 

 

The next stage of my application, I’ll use my application – what shall I call it? Printtab. 

 

[pause]

 

Printtab, passing through an argument, tname = dept. Back comes the department table, tname = emp. Back comes the emp table. 

 

[pause]

 

And the final example, what about DML? We can do DML through this as well. One last procedure and then we can move on to how the listening is working. 

 

A procedure called newsal. I’m going to change the salary of someone in my company. Print or replace procedure newsal as begin, and give it a DML statement. Update. Update emp set sal = salary where emp.no = eno. Salary and eno are the arguments I’m defining for this procedure, both numeric. End. 

 

Try invoking that one now through the web. The procedure is called newsal and then my most complicated prompt to string yet, empno =. Let’s try to update Mr. Miller, 7934, ampersand (&) is the delimiter you want to prompt the string and here salary = 8000. That will do. 

 

[pause]

 

Issuing that gives me nothing back and that’s because my very simple procedure here doesn’t do any user interface work but normally of course a message will come back. Go back to my table and we should now see that Mr. Miller his salary has gone up to 8000. Has it indeed? 

 

[pause]

 

Yes, it has. 

 

That is all there is to APEX applications. That’s all APEX application really is. All the application actually is, is just a set of wizards for generating code such as that code I’ve just written. That’s all it is. It’s set of wizard for generating PL/SQL packages, PL/SQL procedures and it makes extensive use of packages like this for generating the HTML. It’s nothing clever except how the web listener itself is configured.

 

Copyright SkillBuilders.com 2017

×
Transcript

Listener Options Part 1: Embedded PL/SQL Gateway & Apache

Oracle APEX Architecture and Listener Options 

 

Session 5 – Embedded PL SQL Gateway & Apache

 

>> John:  Coming onto APEX Listeners. You’ve got three options – the embedded PL/SQL Gateway, there is Apache plus multi PL/SQL, and then there is the APEX Listener. 

 

[pause]

 

Embedded PL/SQL Gateway certainly works. Oracle’s advice is development only. There may be issues on scalability, there may be issues on performance, but certainly it works. But general advice is we shouldn’t use that for production systems. For many years we have been using Apache with our PL/SQL. That works brilliantly, but now that we are in 2013 I’m going to suggest that the APEX Listener itself may be a better option going forward. 

 

The embedded PL/SQL Gateway that you’ve already seen me configure it, just a couple procedure calls. I got one call to create the listening address, the second call to define the virtual path that end users put into their URLs. That’s straightforward. 

 

[pause]

 

It does require a shared server – dispatchers and shared server processes. You will have by default one dispatcher and one shared server. You will nearly always want to tune this up. You want to do a fair bit of tuning on the shared server architecture to get decent performance through the embedded PL/SQL Gateway. Otherwise, you may now have issue with sessions. 

 

It certainly works but it may not scale your [01:41 inaudible] level. Most importantly – and this is a major problem with embedded PL/SQL Gateway – you cannot separate the listening tier from the database tier because the listening tier’s implemented through database listener and the database listener will be running on the same machine as your database instance. 

 

Not being able to separate the listening tier from the database tier is a major issue for security at some sites. Most sites will want to have some sort of firewall security between the HTTP Listener and the database. 

 

[pause]

 

That takes us to the next option, using Apache. Apache solves all the problems of the embedded PL/SQL Gateway. I have a kind of love-hate relationship with Apache and I suspect that Oracle has a love-hate relationship with Apache too. The present situation is there’s an Apache 2.2 HTTP Listener is shipped with the database and it’s also included with Fusion Middleware if you’ve licensed Fusion Middleware. Along with your Oracle provided Apache 2.2 Listener you get a bunch of Oracle supplied modules including a particular mod_plsql. Mod_plsql is the Apache module that any Apache module gets dynamically linked into the Apache executables on-demand. It’s a module that generates the virtual path that end uses put in to their URLs and enables the mapping of that virtual path to procedures within the database. It’s an alternative technique for doing what I did with a couple of procedure calls. 

 

[pause]

 

It is rock-solid technology. There’s no mistake about that. It scales brilliantly. I should say if it is configured appropriately, it scales brilliantly and performs well. It does require quite a lot of configuration to get it to perform well. 

 

[pause]

 

Well proven technology. There are some licensing issues. I have to warn you of that. My understanding of it – I’m not a licensing expert. If I were, I’ll be a salesman and I’ll be rich. But my understanding of the licensing issues is that if you use the embedded Apache license provided with the database or provided with the web logic, Fusion Middleware installation, there’s no charge using Apache on the machine where the database is installed or on the machine where Fusion Middleware is installed. 

 

If want to run your Apache Web Listener on a separate machine, which is I mentioned on the previous slide you normally would in the previous slide so you can separate the listening tier from database tier then there may be some licensing issues. I just want to mention that could be an issue at some sites. 

 

[pause]

 

Overall though, possibly the major problem is that mod_plsql does not allow some of the latest features of APEX. As far as I know, virtually anything could be done within an APEX Release 3 could be done to the Apache plus mod_plsql. But when we move on to APEX 4 and some more up-to-date facilities you simply won’t have access to them if you use Apache. 

 

[pause]

 

I can’t comment on whether that is because of technology limits or because of whether Oracle just hasn’t got around to implementing it yet. But certainly at the current situation, Apache is a very good solution provided you can work around these limits and provided licensing is not an issue. 

 

I’m not going to demonstrate this. I think I might run out of time if I do. 

 

[pause]

 

Because what I really want to go onto is the APEX Listener.

 

Copyright SkillBuilders.com 2017

×
Transcript

Listener Options Part 2: The Oracle APEX Listener

Oracle APEX Architecture and Listener Options

 

Session 6 – The APEX Listener

 

>> John:  The APEX Listener, its script is written in Java, so of course you have to have Java installed on the data server you want to run it on. It’s shipped as web archive, apex.war. It is absolutely normal web archive and I’ve installed it so we can see it, apex.war. There it is. 

 

[pause]

 

It’s just a web archive file conforming to the absolutely normal standards. 

 

[pause]

 

You need to have Java installed. I’ve already done that. Java. Normal problems with Java, my Java. I’m using the Linux alternate system. If you do setup the APEX Listener, you have to make sure you have a supported release of Java installed. The Java I’m using is HotSpot 1.7. Whatever. Whether you choose to use Jave HotSpots or whether you choose to use JRockits, I don’t believe there’s significant difference in the two releases, two JVMs. You can certainly [01:25 inaudible] in the future anyway. I just use Java HotSpot because that what happens to be shipped with the Linux that I’m working on. 

 

On the Linux you’ll need to configure you Java through the alternative system so you can support multiple versions. On the Windows, we have an expert Windows administrator. You can also maintain multiple releases of Java. I would generally try to use only one release on the machine anywhere. 

 

[pause]

 

Then having got Java installed, you need something within which to run your Java. That means you need to deploy the web archive, which is the APEX Listener, to a Java container, Glassfish container, a WebLogic container or theoretically even a third party container. I’ve heard of people using Tomcat for instance. I can’t imagine why anyone would, but a third party container is theoretically usable. 

 

Glassfish or WebLogic, why would you make the difference? WebLogic, you have to pay for, Glassfish, you don’t. That’s the important point for licensing. You can install Glassfish on any machine in the environment, which means you can separate out your web listening tier where the web listener will be running from the database tier where your APEX application will be running. 

 

[pause]

 

To set it up, thus, is a bit of a mission. I did want to demonstrate the whole installation of Glassfish in a webinar but there really wasn’t going to be time. So I have already installed Glassfish. The Glassfish’s wizard installed, it’s a wizard driven install. It’s not too bad as you may come across a few anomalies. My Glassfish is already running and there’s a standard port to use for administration purposes and it is all okay. 

 

To connect to that port,

 

[pause]

 

let me check, I need to log on again. I’m running on the local host, by the way, to avoid some security issues. 

 

[pause]

 

Okay, let’s just move on. I’ve configured my Glassfish Listener and I setup listening addresses. So your listening addresses you configure within the Glassfish environment. Glassfish then can contain that. Glassfish itself is listening for HTTP and I’ve given it three addresses. I’ve got my app in port service with which I’m in communication right now of 4848, and I’ve configured 8080 and 8181. 

 

8080 – I’m going to use for APEX over HTTP, 8181 for APEX over secure servers. So you configure your web listening endpoints within the Glassfish environment. 

 

[pause]

 

Then we have to deploy the software. Looking at the applications link, very simple too, it’s very easy to do within Glassfish. The wizard is quite handy. I deploy two applications – APEX and one called I. 

 

The APEX application, that’s the apex.war file. The apex.war and, generally speaking, click to deploy and navigate to wherever your apex.war file happens to be, just browse to it and find it. Having found it creates a virtual path. We create the virtual path and we deploy the war file. The path I’ve created in this case, APEX. It’s my virtual path. We define the virtual path at the point when you deploy the apex.war file then extend the virtual path later on when we create the APEX application themselves. We deploy another application, the I application, and that is just to point us all to the images, towards the images that are used by your APEX programmers. 

 

Deploying through the wizard, very straight forward. 

 

[pause]

 

Final stage, I need to create a path through an application. The apex.war file

 

[pause]

 

There it is. 

 

[pause]

 

It has a reasonable user interface. If I Java it – if I Java minus jar apex.war, it even comes with a bit of help. 

 

[pause]

 

Just give it the Help command. 

 

[pause]

 

That’s my code for the APEX Listener which I’ve already deployed through Glassfish. What do you do? You can map URLs, you can setup a database connection. 

 

[pause]

 

But the APEX Listener running in Glassfish needs to know where to send, where the database actually is. So for that I use a Setup command, apex.war just java minus jar apex.war setup. I’ll setup a database connection which is just an arbitrary name. I’ll call it apexdemo. 

 

[pause]

 

And the little user interface will give me a prompt, name of database server, local host and 192.168.56.101. This could be any machine anywhere on the planet, firewall permitting. Because remember you’d normally be separating the location of the APEX Listener from the location of the database. 

 

What ports should we get that database on? Default port 1521. 

 

Name of the service or SID ñ I’ll choose a SID. I’ll give it a service orcl. 

 

[pause]

 

Database public use – APEX public user, default is APEX public user and the password. 

 

[pause]

 

RESTful services, I’m not too [07:09 inaudible] about them, so I shall skip that step. Let’s configure this. 

 

I’ve now created apexdemo as a database connection string. That’s just a logical name that tells the APEX Listener get to that machine, that port, connect to database instance, call that, log on to that user. 

 

[pause]

 

Then I extend the virtual path for one particular application. Java minus jar. Again, the jar file apex.war and the command map URL. Remember that command there, map URL. Mapping URL pattern to a named database connection, because my one APEX Listener might be rooting connections through to 20 different databases on 20 different machines. So map URL. The URL I’m going to map will be /demo to apexdemo. I’m associating that virtual path with that database connector and that database connector is associated with a database on that machine on that port of that name and that log on. Associate a URL with a database connect string. 

 

[pause]

 

At that point, I can theoretically hand this over to the APEX guys. I’m going to see if it actually functions. 

 

The port, the virtual path I created, and then f – the famous f function – and the page. That is going through the APEX Listener, the local host. I think I was having trouble – it was security issues. I was having trouble coming through an IP address. 

 

Okay, local host is now functioning. At this point, I can log on and having got that far, 

 

[pause]

 

provided I get my credentials correct, I’ll send it through. I now turn it over to the developers for the normal creation of an instance and define your APEX application.

 

Copyright SkillBuilders.com 2017

×
Transcript

Recommendations and Next Steps

Oracle APEX Architecture and Listener Options 

 

Session 7 – SkillBuilders Recommendation, Next Steps

 

>> John:  Our recommendation? Definitely the APEX Listener. Why? Because it’s now Oracle’s recommendation. We believe that latest releases are now stable. It can support all the releases of the latest APEX. The future development path is certainly clear. 

 

Where to deploy it? I’m going to promote Glassfish because it’s license-free and Oracle stated it will be fully supported for the foreseeable future. But if you have a WebLogic license, sure by all means, deploy it through that. 

 

[pause]

 

So what do you need to do next? You need to start assessing your APEX environments. Your current listening architecture, will it perform? Will it scale? Is it secure? Do your programmers need access to new facilities, RESTful services and so on? If they need the new facilities, you’ve got to really move to the APEX Listener. If they don’t, okay. You can delay. 

 

[pause]

 

Definitely consider security audits. There are known issues with APEX applications. But there are solutions to all of them and the Glassfish APEX Listener part of the architecture should be totally secure. 

 

That pretty much means I’ve now run out of time.

 

Copyright SkillBuilders.com 2017

×
Free Online Registration Required

The tutorial session you want to view requires your registering with us.

It’s fast and easy, and totally FREE.

And best of all, once you are registered, you’ll also have access to all the other 100’s of FREE Video Tutorials we offer!

 

×
Podcast
×