Oracle Weblogic Tutorial

You, Will, Learn in Oracle Weblogic Tutorial

1. Question: How You Enable Core Dump How You Analyze Core Dump?

Answer: When detecting whether the integrity of data was corrupted or whether a fatal error in hardware occurred, the Solaris OS invokes panic(). The panic() routine interrupts all processes as if the OS is suspended. (Weblogic Training) Then it generates a system core dump, which is a copy of OS in the memory and saves it to the dump device. After a crash, the OS uses savecore(1) to retrieve the core dump from the dump device to the savecore directory during the next boot. The savecore routine generates two files. One file is unix., which is an OS symbol table list, and the other is more., which is the core dump data file. By default, the dump device is a swap disk partition and the score directory is set to /var/crash/. The trailing in the file names is an integer that grows every time savecore runs.

2. Question: What Do You Mean By Heap Dump?

Answer: A heap dump is a snapshot of the memory of a Java process at a certain point in time. There are different formats for persisting this data, and depending on the format it may contain different pieces of information, but in general, the snapshot contains information about the java objects and classes in the heap at the moment the snapshot was triggered. Usually, a full GC is triggered before the heap dump is written so it contains information about the remaining objects.

The Memory Analyzer is able to work with HPROF binary heap dumps, IBM system dumps (after preprocessing them), and IBM portable heap dumps (Ph.D.) from a variety of platforms. 

Typical information which can be found in heap dumps (once more – depending on the heap dump type) is:

  • All Objects
    Class, fields, primitive values and references
  • All Classes
    Classloader, name, superclass, static fields
  • Garbage Collection Roots
    Objects defined to be reachable by the JVM
  • Thread Stacks and Local Variables
    The call-stacks of threads at the moment of the snapshot, and per-frame information about local objects

A heap dump does not contain allocation information so it cannot resolve questions like who had created the objects and where they have been created.

3. Question: How Analyze the Thread Dump What are the Threads You Can See in Thread Dump?

Answer: This chapter describes how to get and use Oracle JRockit JVM thread dumps. For basic background information about threads and thread synchronization, see Understanding Threads and Locks.

A thread dump is a snapshot of the state of all threads that are part of the process. The state of each thread is presented with a so-called stack trace, which shows the contents of a thread’s stack. Some of the threads belong to the Java application you are running, while others are JVM internal threads.

A thread dump reveals information about an application’s thread activity that can help you diagnose problems and better optimize application and JVM performance; for example, thread dumps automatically show the occurrence of a deadlock. Deadlocks bring some or all of an application to a complete halt. 

4. Question: Difference Between Execute Queues and Work Managers?

Answer: Execute Queues are available till WLS 8.1 and Work-managers are available from WLS 9.2
and the main difference between these two is Workmanagers are self tuned, which means it will shrink and increase whenever it requires rather than fixed to the maximum number of threads thereby causing some issues on high load. 

Understanding the Differences Between Work Managers and Execute Queues:

The easiest way to conceptually visualize the difference between the execute queues of previous releases with work managers is to correlate execute queues (or rather, execute-queue managers) with work managers and decouple the one-to-one relationship between execute queues and thread-pools.

For releases prior to WebLogic Server 9.0, incoming requests are put into a default execute queue or a user-defined execute queue. Each execute queue has an associated execute queue manager that controls an exclusive, dedicated thread-pool with a fixed number of threads in it. Requests are added to the queue on a first-come-first-served basis. The execute-queue manager then picks the first request from the queue and an available thread from the associated thread-pool and dispatches the request to be executed by that thread.

For releases of WebLogic Server 9.0 and higher, there is a single priority-based execute queue in the server. Incoming requests are assigned an internal priority based on the configuration of work managers you create to manage the work performed by your applications. The server increases or decreases threads available for the execute queue depending on the demand from the various work-managers. The position of a request in the execute queue is determined by its internal priority:

The higher the priority, closer it is placed to the head of the execute queue.
The closer to the head of the queue, more quickly the request will be dispatched a thread to use.
Work managers provide you the ability to better control thread utilization (server performance) than execute-queues, primarily due to the many ways that you can specify scheduling guidelines for the priority-based thread pool. These scheduling guidelines can be set either as numeric values or as the capacity of a server-managed resource, like a JDBC connection pool.

5. Question: What Do You Mean by Deployment Descriptor?

Answer: A web application’s deployment descriptor describes the classes, resources, and configuration of the application and how the web server uses them to serve web requests. When the webserver receives a request for the application, it uses the deployment descriptor to map the URL of the request to the code that ought to handle the request. 

The deployment descriptor is a file named web.xml. It resides in the app’s WAR under the WEB-INF/ directory. The file is an XML file whose root element is.

6. Question: How to Change Deployment Order?

Answer: By default, WebLogic Server deploys Enterprise applications, EJBs, Web applications, and Web Services immediately after their subsystems initialize at boot time. Startup classes are deployed and run after application modules have been deployed.

The actual deployment order of modules is determined by their Deployment Order attribute. By default, new applications and modules are configured with a Deployment Order value of 100. During startup, modules with a lower Deployment Order value are deployed before those with a higher value. Modules with the same Deployment Order value are deployed in alphabetical order by deployment name.

To view or change the deployment order of modules deployed to the WebLogic Server domain:

1. If you have not already done so, in the Change Center of the Administration Console, click Lock & Edit (see Use the Change Center).

2. In the left pane of the Administration Console, select Deployments. The right pane displays all modules configured for deployment in the domain, listed in their current deployment order.

3. In the right pane, click the name of the module for which you want to change the deployment order.

4. In the Overview tab that displays, enter a new value in the Deployment Order field, and click Save to apply your changes.
To change the deployment order of a Startup class, follow the instructions in Configure startup classes.

5. To activate these changes, in the Change Center of the Administration Console, click Activate Changes.
Not all changes take effect immediately—some require a restart.

7. Question: What are the Types of Installation Modes?

Answer: Three different types of installation can be carried out for Windows XP Professional. The type of installation chosen can affect various stages of the installation process. The three types are as follows: 

A clean installation: one where there is no existing operating system on the computer or you do not want to preserve the existing installation. The biggest advantage of a clean installation is knowing that nothing remains from a previous installation, leading to improved performance and stability. However, you will need to reinstall all of your applications and reconfigure your Windows settings.

Upgrade installation: one in which Windows XP is installed over a previous version of Windows. The biggest advantage of an upgrade is that you can retain application installations and user settings. However, this can also be a disadvantage if you would be better off without these applications and settings. 

Multiple boot installation: one in which several operating systems are installed on the same computer and the user can choose which operating system to boot during system startup. If Windows XP is installed as an additional operating system, you will need to reinstall any applications you want to run under XP. A multiple boots lets you keep the previous operating system and installed applications, which can be useful if you want to test Windows XP or if you have critical applications that will not run on Windows XP.

8. Question: How Servers Will Communicate Within the Cluster?

Answer: WebLogic Server instances in a cluster communicate with one another using two basic network technologies: 

  • IP sockets, which are the conduits for peer-to-peer communication between clustered server instances.
  • IP unicast or multicast, which server instances use to broadcast the availability of services and heartbeats that indicate continued availability. 

Note: When creating a new cluster, it is recommended that you use unicast for messaging within a cluster. For backward compatibility with previous versions, WebLogic Server you must use multicast for communications between clusters.

The way in which WebLogic Server uses IP multicast or unicast and socket communication affects the way you configure your cluster.

9. Question: What are the Load Balancing Algorithms?

Answer: Effective load balancers intelligently determine which device within a given server farm is best able to process an incoming data packet. Doing so requires algorithms programmed to distribute loads in a specific way.

Algorithms vary widely, depending on whether a load is distributed on the network or application layer. Algorithm selection impacts the effectiveness of load distribution mechanisms and, consequently, performance and business continuity.

Here we will be discussing the pros and cons of several widely used algorithms found in both network and application layer load balancing solutions.

10. Question: How We Can Achieve Fail-Over and Load Balancing is Cluster?

Answer: To implement fail-over you typically need to have your data replicated across multiple machines. You could do this via rsync+cron for files/directories. (Company) And via something like MySQL replication for databases.
One way to trigger the fail-over is to change the IP address your domain points to. IP address changes can happen within a few minutes of a DNS server update. Though if a client PC is caching an IP then it may take a bit longer for that to notice the change.
There are some services (e.g. https://zoneedit.com) that operate DNS servers that can detect a failure on a particular IP and automatically update the DNS for you.
https://pingability.com (run by the same people that run RimuHosting) also offers a failover server check type if you are using the RimuHosting name servers.

One simple way to implement load balancing is to split services between servers. e.g. running the webserver on one server and the database server on another.
This way is easy since there are no data replication issues. e.g. all necessary files are on the web servers, all necessary database data is on the database server.
Another common load balancing option is to have multiple front end servers. To distribute requests to multiple servers you could set up multiple IP addresses for a particular domain. Then clients should get all these addresses and to a random one. Spreading the load around. 
Another way to distribute requests is to have a single virtual IP (VIP) that all clients use. And for the computer on that ‘virtual’ IP to forward the request to the real servers. eg with haproxy.
People can also implement load balancing via https balancers like mod_proxy_balancer in Apache 2.2 and Pound. 

11. Question: What is Cluster How Many Types of Clusters?

Answer: A server cluster is a group of independent servers running Windows Server 2003, Enterprise Edition, or Windows Server 2003, Datacenter Edition, and working together as a single system to provide high availability of services for clients. When a failure occurs on one computer in a cluster, resources are redirected and the workload is redistributed to another computer in the cluster. You can use server clusters to ensure that users have constant access to important server-based resources.

Server clusters are designed for applications that have long-running in-memory state or frequently updated data. Typical uses for server clusters include file servers, print servers, database servers, and messaging servers.

Clusters offer a cost-effective, high-performance, and highly available architecture for cluster-aware applications.  There are many types of clusters. Generally, clusters are classified based on their functionality. The types of clusters are:

  • Fail-Over Clusters
  • Scalable High-Performance Clusters
  • Application Clusters
  • Network Load balancing clusters
  • Other types of clusters 

12. Question: Differences Between Stage, No-Stage and External Stage Mode?

Answer:

Stage mode: The Administration Server copies the archive files from their source location to a location on each of the targeted Managed Servers that deploy the archive. For example, if you deploy a J2EE Application to three servers in a cluster, the Administration Server copies the application archive files to each of the three servers. Each server then deploys the J2EE Application using its local copy of the archive files. 

Stage mode is the default mode when deploying to more than one WebLogic Server instance.

Postage mode: The Administration Server does not copy the archive files from their source location. Instead, each targeted server must access the archive files from a single source directory for deployment. For example, if you deploy a J2EE Application to three servers in a cluster, each server must be able to access the same application archive files (from a shared or network-mounted directory) to deploy the application. 

Nostalgia mode is the default mode when deploying only to the Administration Server (for example, in a single-server domain). You can also select no stage mode if you run a cluster of server instances on the same machine.

External stage mode: External_stage mode is similar to stage mode, in that the deployment files must reside locally to each targeted server. However, the Administration Server does not automatically copy the deployment files to targeted servers in external_stage mode; instead, you must manually copy the files, or use a third-party application to copy the files for you.

13. Question: Jdbc and Datasources Configuration?

Answer: You can create JDBC data sources in your WebLogic domain using the Administration Console or the WebLogic Scripting Tool (WLST):  

“Create a JDBC Data Source” in the Oracle WebLogic Server Administration Console Help.

The sample WLST script SAMPLES_HOME\server\examples\src\examples\wlst\online\jdbc_data_source_creation.py, where SAMPLES_HOME refers to the main examples directory of your WebLogic Server installation. See “WLST Online Sample Scripts” in Oracle WebLogic Scripting Tool.

14. Question: What are Daily Using UNIX Commands?

Answer: Learning the Unix operating system is very easy. It is just that you need to understand the Unix server concepts and familiar with the Unix commands. Here I am providing some important Unix commands which will be used in daily work. 

Unix Commands With Examples:

1. Listing files

The first thing after logging into the Unix system, everyone does is listing the files in a directory. The ls command is used to list the files in a directory.
>ls
add.sh
logfile.txt
prime.pl

If you simply execute ls on the command prompt, then it will display the files and directories in the current directory.

>ls /usr/local/bin

You can pass a directory as an argument to ls command. In this case, the ls command prints all the files and directories in the specific directory you have passed.

2. Displaying the contents of a file.

The next thing is to display the contents of a file. The cat command is used to display the contents in a file.

>cat file.txt
This is a sample Unix file
Learning about Unix server is awesome

3. Displaying first few lines from a file.

The head command can be used to print the specified number of lines from the starting of a file. The below head command displays the first five lines of file.

>head -5 logfile.dat

4. Displaying the last few lines from a file.

The tail command can be used to print the specified number of lines from the ending of a file. The below tail command displays the last three lines of file.

>tail -3 logfile.dat

5. Changing the directories

The cd command can be used to change from one directory to another directory. You need to specify the target directory where you want to go.

>cd /var/tmp

After typing this cd command you will be in /var/tmp directory.

6. Creating a file.

The touch command simply creates an empty file. The below touch command creates a new file in the current directory.

touch new_file.txt 

7. copying the contents of one file into another.

The cp command is used to copy the content of the source file into the target file. If the target file already has data, then it will be overwritten.

>cp source_file target_file

8. Creating a directory.

Directories are a way of organizing your files. The mkdir command is used to create the specified directory.

>mkdir backup

This will create the backup directory in the current directory.

9. Renaming and moving the files.

The mv command is used to rename the files and it also used for moving the files from one directory into another directory.

Renaming the file.
>mv file.txt new_file.txt
Moving the file to another directory.
>mv new_file.txt tmp/

10. Finding the number of lines in a file

The wc command can be used to find the number of lines, words, and characters in a file.

>wc logfile.txt
21 26 198 logfile.txt

To know about the Unix command, it is always good to see the man pages. To see the man pages simply pass the command as an argument to the man.

15. Question: Why am I Getting an Exception When I Use JMS With a Non-XA Driver?

Answer: As mentioned in the previous question Do I need a 2PC license when I use JMS with one JDBC non-XA driver?, JMS is also an XAResource that participates in the distributed transaction. When more than one resource is participating in the distributed transaction, you need to set the data source property EnableTwoPhaseCommit=true as explained in “Can I use a non-XA driver in distributed transactions?”

16. Question: Why Do I Get a JNDI Problem When I Name a Topic A.B and a Second Topic A.B.C?

Answer: This is a JNDI implementation issue. JNDI uses the dots to build a directory like structure. A given element cannot be both a node and a leaf in the tree. In this example, B is used as a leaf off of A but then is used as a node off of which C is a leaf.

17. Question: How Do I Use a Less Than or Greater Than on a Message Selector in EJB-jar.xml?

Answer: Enclose the selector in a CDATA section. That will prevent the XML parser from thinking that less than or greater than is a tag. 

jms-message-selector
![CDATA[ JMSXAppID <> ‘user’ ]]
/jms-message-selector

18. Question: How Do I Publish an XML Message?

Answer: Follow these steps: 

  • Generate XML from the DOM document tree.
  • Serialize the generated DOM document to a StringWriter. (E Learning Portal)
  • Call toString on the StringWriter and pass it into message.setText.
  • Publish the message. 

19. Question: How Do I Deal With a Listener That Doesn’t Keep Up With Messages Being Sent?

Answer:
Here are a few guidelines: 

  • Consider using multiple listeners.
  • Consider reducing the processing in the listener (for example, don’t call “System.out”).
  • Sends are in general faster than receives. Consider lowering receive overhead by not acknowledging every message, but by deferring acknowledge until several messages have been received using client acknowledges. With asynchronous listeners, the last few messages may not get acknowledged without extra code logic if they don’t fall on an acknowledge “boundary”

20. Question: Is it Possible to Set Aside a Message and Acknowledge it Later?

Answer: There are no special primitives for doing this. Here are two possible solutions.  (Is it Possible to Set Aside a Message and Acknowledge it Later)

One approach is to use multiple sessions as in the following:

while (true) 
Create a session, subscribe to one message on durable
subscription
Close session
Save session reference in memory
To acknowledge the message, find the session reference and call
acknowledge() on it.

Another solution is to use transactions and suspend the work as follows:

start transaction
while(true) {
message = receive();
if (message is one that I can handle)
process the message
commit
else 
suspend transaction
put transaction aside with message
start transaction

To “acknowledge” the message:

resume user transaction
commit

To “recover” the message:

resume user transaction
rollback

Each time you suspend, you need to push the transaction onto a stack or list possibly with the message so you can process it or roll it back later. This solution is high overhead in that there can be a large build up of outstanding transactions. Note that transactions have timeouts and it may rollback on its own, which means you can get the message again (in a different transaction). Note also that there are some practical limits on the number of transactions you should leave outstanding. The default limit is something like 10000. Eventually, you want to go back to your stack/list and commit/rollback the transactions. Note that transaction references (javax.transaction.Transaction) are not Serializable.

21. Question: How Can an Application Do a JMS Operation and Have It Succeed, Independent of the Result of the Transaction?

Answer: Basically, the JMS operation must be done using a transacted session or the transaction must be suspended/disabled as follows (pick one or more of the following). 

1. Suspend the current transaction prior to making the JMS call and resume it after completing it. The code looks something like this:

import javax.transaction.Transaction;
import javax.transaction.TransactionManager;
TransactionManager tranManager=
TxHelper.getTransactionManager();
Transaction save = null;
try {
save = tranManager.suspend();
… do JMS work, it will not participate in transaction
} finally {
// must always resume suspended transactions!
if (save != null) tranManager.resume(save);

2. Use a transacted session by specifying true for the first parameter to createQueueSession or createTopicSession.

3. Use a connection factory with user transactions disabled. That is, check that the UserTransactionsEnabled flag is explicitly set to false for the connection factory in the config.xml file or use the default for a user-configured connection factory for this value which is false. The pre-configured connection factory weblogic.jms.ConnectionFactory disables user transactions.

A transacted JMS session always has its own inner transaction. It is not affected by any transaction context that the caller may have. A non-transacted JMS session is more complicated. If you use the WLS 6.1 default factory weblogic.jms.ConnectionFactory, the session does not participate in a user transaction because the UserTransactionsEnabled flag is set to “False”. If you use the deprecated default factory javax.jms.QueueConnectionFactory or javax.jms.TopicConnectionFactory or you define your own factory and set the UserTransactionsEnabled flag to “True”, the JMS session participates in the outer transaction, if one exists and the JMS session is not transacted.

22. Question: Why Do I Run Out of Resources During Updates With Oracle’s Database Link?

Answer: When you use Oracle’s database link to update your database, you may get the error “maximum number of temporary table locks exceeded” even if you close your result sets and statements when you finish. (Why Do I Run Out of Resources During Updates With Oracle’s Database Link)

A database link is an object in the local database that allows you to access tables, views, and so forth in a remote database. The database link is controlled by the Oracle server, so the driver has no control over its use of resources. The link appears to perform the commit (since other processes could see the records that were being created), but it doesn’t free any resources until the connection is closed. The solution is to remove the database link and use the JDBC driver to do your selects, inserts, and updates.

23. Question: How Do You Differentiate Between a Server Hang and Server Crash Issue?

Answer: When a server crashes, the JAVA process no longer exists. When the server is hung, it stops responding. 

We can use WebLogic. ADMIN utility to ping the server. In case of a hang situation, we can take multiple thread dumps and analyze the cause of the hang.

24. Question: How Do You Trouble Shoot If Managed Server is in FAILED State?

Answer: If any managed server is in FAILED state there could be reasons as follows:

i) deployment failed

ii) JDBC DataSource issue

iii) JMS configuration issue 

25. Question: How Do You Troubleshoot If Config.xml File Will be Deleted?

Answer: First we look for is there any last good backup of configuration is available on the Admin machine. If it is not found then alternatively you can find it on remote machines where the managed servers running. 

The best practice is whenever there is a configuration change made before and after you need to take a backup. That will help you in such a situation where you might need old configuration sometime.

26. Question: If SSL Certificates are Expired What to do?

Answer: The SSL certificate is a backbone of the website security and it should continue its functionality with the regular renewal process. SSL certificates are worldwide used for website security to encrypt transmitting online information. 

If the website owner does not renew an SSL certificate at the regular interval, the browser warns of “Your connection is not private” and “This connection is Untrusted”. With the regular renewal, as a website owner, you can win and maintain customer trust, safe checkout, secured login information, and emails.

27. Question: What Happens If Remove( ) is Never Invoked On a Session Bean?

Answer: In case of a stateless session bean it may not matter if we call or not as in both cases nothing is done. The number of beans in the cache is managed by the container.  

In case of the stateful session bean, the bean may be kept in cache till either the session times out, in which case the bean is removed or when there is a requirement for memory in which case the data is cached and the bean is sent to free pool.

28. Question: What Happens When a Failure Occurs and the Stub Cannot Connect to a Web Logic Server Instance?

Answer: When the failure occurs, the stub removes the failed server instance from its list. If there are no servers left in its list, the Stubb uses DNS again to find a running server and obtain a current list of running instances. Also, the stub periodically refreshes its list of available server instances in the cluster; this allows the stub to take advantage of new servers as they are added to the cluster.

29. Question: How Do Stubs Work in a Web Logic Server Cluster?

Answer: Clients that connect to a WebLogic Server cluster and look up a clustered object obtains a replica-aware stub for the object. This stub contains the list of available server instances that host implementations of the object. The stub also contains the load balancing logic for distributing the load among its host servers.

30. Question: Where Can I Take Classes On Java Development?

Answer: Information can be found at https://www.bea.com/education/index.shtml. 

31. Question: How Do I Identify the Document Type of an XML Document?

Answer: If the XML document has a Public ID, then that is its document type. For example, if an XML document contains the following DOCTYPE declaration: 

!DOCTYPE mydoc PUBLIC “My public ID String”
“https://foo.com/url/to/my/dtd”

then its document type is My public ID String.

If the DOCTYPE declaration does not contain a Public ID but specifies a System ID, then the document type is the System ID. For example, in the following DOCTYPE declaration: 

!DOCTYPE mydoc SYSTEM “https://foo.com/url/to/my/dtd”

the document type is https://foo.com/url/to/my/dtd.

Note: The System ID is of the DTD, not of the XML document itself. It can, however, still be used as a way to identify the XML document.

If the XML document does not specify a DOCTYPE declaration, then the document type can be either the root element name or the namespace URI, if it has one.

32. Question: Can I Use the GetAttribute() and SetAttribute() Methods of Version 2.3 of the Java Servlet API to Parse XML Documents?

Answer: Yes. Use the setAttribute() method for SAX mode parsing and the getAttribute() method for DOM mode parsing. Using these methods in a Servlet, however, is a WebLogic-specific feature. This means that the Servlet may not be fully portable to other Servlet engines, so use the feature with caution. 

33. Question: The Built-in XSLT Processor is Based on Apache’s Xalan 2.2D11. Can I Upgrade the Built-in XSLT Processor to a Later Xalan Version?

Answer: Yes. For instructions, see Endorsed Standards Override Mechanism. 

The version of Xalan to which you upgrade will be used from any user application code that gets a transformer through JAXP. WebLogic Server itself uses this transformer when processing Web Service attachments and for the JSP XSLT tag library.

34. Question: The Built-in XML Parser is Based on Apache’s Xerces 2.1.0. Can I Upgrade the Built-in XML Parser to a Later Xerces Version?

Answer: Yes. To upgrade to version 2.2.0, 2.3.0, or 2.4.0 of Apache’s Xerces, follow these steps: 

1. Append the appropriate Apache xercesImpl.jar file to the end of WebLogic Server’s CLASSPATH variable. The CLASSPATH variable is typically set in the scripts used to start WebLogic Server. The xercesImpl.jar file contains Apache’s implementation of the version of Xerces to which you want to upgrade.

You can also put the xercesImpl.jar file in the WEB-INF/lib directory of the WAR file of your application. You do not need to enable the PreferWebInfClasses flag for your Web application. 

Warning: Do not use the archives from Apache named xml-apis.jar or xmlParserAPIs.jar.

2. Configure your XML Registry to use org.apache.xerces.jaxp for the DocumentBuilderFactory or SAXParserFactory factories.

35. Question: What Changes Do I Need to Consider For 3G Wireless Networks?

Answer: None. As described in the previous answer, neither WAP nor i-Mode is dependent on the underlying network. However, a developer may consider enriching an application with streaming media or other content that requires greater bandwidth.

36. Question: Will My Solution Work On Different Networks Such as CDMA, GPRS, TDMA, and PDC-P?

Answer: Yes. WAP and i-Mode were designed to hide the network details from the application developer. They will both work equally well on any underlying network. Therefore, as carriers upgrade their networks, applications written for either WAP or i-Mode will continue to work without any need for modifications. As the networks are upgraded to higher speeds, the performance of wireless applications written in either WML or cHTML should improve as well. 

37. Question: What Should I Consider When Writing an Application For Wireless Devices?

Answer: The following is a list of factors to consider when writing applications for wireless clients:

  • Content should be personalized based on the location of the device and/or the type of the device.
  • Device microbrowsers are usually not HTML-based; some are WML-based, some are cHTML-based, some are HDML-based, some use Web Clipping, etc.
  • Some devices have additional features such as Bluetooth, power keys and SMS messaging that can be used to enhance an application.
  • Often the devices can be used with voice portals using voice recognition and text-to-speech.
  • Most of the devices have smaller screens that may or may not display color or graphical images.
  • These screens range in form from a vertically-oriented rectangle to a square to a horizontally-oriented rectangle.
  • Many of the devices have a difficult data entry and selection mechanism with numeric keypads or styli.
  • Connectivity is often lost when the device is mobile.
  • The devices usually have no PKI security capability. 
  • A few of the devices are limited in the amount of data that can be transmitted to them for a page. 

38. Question: What is the Password For the LDAP Admin Account?

Answer: The password is specified in the Credential field of the EmbeddedLDAP MBean. The password is generated on the first boot of the server and written to the config.xml file. The LDAP Admin account DN is cn=Admin. Use the WebLogic Server Administration Console to change the password for the LDAP Admin account.

39. Question: Does the Embedded LDAP Server Support SSL?

Answer: Yes. Use the SSL listen port (7002). The WebLogic Server muxer is actually performing all the SSL work so there should be no additional configuration required when using SSL to talk to the embedded LDAP server. 

40. Question: How Do I Protect Access to the Embedded LDAP Server?

Answer: The ACLS.prop file (located in WELCOME/server/lib/ACLS.prop) controls access to the embedded LDAP server. You can modify the ACLS. prop file to control access to the LDAP server.

41. Question: When Using Java Security, How Do I Change the Default Permissions For an Application?

Answer: In the Java security policy file, there are three “fake” codebases for each of the three component types: 

“file:/weblogic/application/defaults/EJB” for EJBs

“file:/weblogic/application/defaults/Web for Web applications>

“file:/weblogic/application/defaults/Connector for Connector applications

These codebases contain the defaults for these types of applications. When evaluating these defaults, the string “WEBLOGIC-APPLICATION-ROOT” will be expanded to the top-level directory when the application was deployed. 

42. Question: How Do I Configure Multiple Authentication Providers to Work Together in a Security Realm?

Answer: The Login Modules for all the different types of supported Authentication providers conform to the JAAS specification. If there are two Authentication providers configured in a security realm and you want valid users from either provider to login into the system, set the JAAS Control Flag on each Authentication provider to REQUISITE. 

43. Question: Why Do I Get a 401 Unauthorized User Error When Using CLIENT-CERT in the Login-Config of My Web Application?

Answer: To use a login-config of CLIENT_CERT, ensure the following:  (Why Do I Get a 401 Unauthorized User Error When Using CLIENT-CERT in the Login-Config of My Web Application)

  • Two-way SSL is configured on the server with the Client Enforced option set.
  • The web application is accessible via https.
  • A user corresponding to the CN attribute of the digital certificate for the web application is defined as a user in the default security realm and that the security realm has an Identity Assertion provider configured.

CLIENT_CERT also applies when perimeter authentication is used (meaning digital certificates are coming in via https headers or cookies). In this case, two-way SSL and https are not required.

44. Question: Why Doesn’t My Custom Security Provider Show Up (That is, It Doesn’t Appear as a Configure a New Security_Provider_Type Link) in the Administration Console?

Answer: Check to make sure the system administrator put the MBean JAR file (MJF) in the lib/MBean type directory. (Why Doesn’t My Custom Security Provider Show Up (That is, It Doesn’t Appear as a Configure a New Security_Provider_Type Link).

45. Question: Why Can’t I Establish an Outbound SSL Connection When Using the Demonstration Certificates?

Answer: When establishing an SSL connection, the subject DN of the digital certificate must match the host name of the server initiating the SSL connection. Otherwise, the SSL connection is dropped. If you use the demonstration certificates, the host names will not match. To avoid this situation, use the following command-line argument when starting WebLogic Server: Dweblogic.security.SSL.ignoreHostnameVerification=true

This argument disables the Hostname Verifier which compares the subject DNS and hostnames. This solution is recommended in development environments only. A more secure solution is to obtain a new digital certificate for the server making outbound SSL connections. 

46. Question: Can I Use RSA Encryption Algorithms and javax.crypto.* API to Build Applications?

Answer: No. WebLogic’s RSA license does not permit end-users to use RSA classes directly. You must obtain your own license for the encryption libraries from RSA. 

47. Question: How Do I Restrict Access to Servlets and JSPs?

Answer: The Java Servlet API Specification v2.3 allows you to declaratively restrict access to specific Servlets and JSPs using the Web Application deployment descriptor. Section 13.3.2 of the specification has an example deployment descriptor that uses declarative security. For more information, see Programming WebLogic HTTP Servlets. You can also specify roles for EJBs and Web applications through the Administration Console.

48. Question: Must We Pay RSA Licensing Costs For Non-RSA Client Code?

Answer: WebLogic Server has licensed RSA for SSL communications between WebLogic Server and WebLogic clients. When using WebLogic Server, no extra licensing for RSA is necessary, although different rules apply to VARs. 

49. Question: I Want to Provide Additional Fields in My Web Application For Form-Based Authentication. What Application Programming Interfaces (APIs) Should I Use?

Answer: The CallbackHandler implementation in the WebLogic Authentication provider supports only stringified versions of a username and password when using form-based authentication. (I Want to Provide Additional Fields in My Web Application For Form-Based Authentication. What Application Programming Interfaces (APIs) Should I Use)

If a Web application requires more authentication information, use the javax.security.auth.TextInputCallback interface of the JAAS Callback application programming interface (API) in the code for your LoginModule.The implementation of the javax.security.auth.TextInputCallback interface needs to use the name of the authentication field as the prompt to the method constructor. For example:

Callback[] callbacks=new Callback[1];
callbacks[1]=new TextInputCallback(“TextField”);

try{
callbackHandler.handle(callbacks)
textField1=((TextInputCallback)callbacks[2].getText
} catch (java.io.IOException ioe) {
throw new LoginException(ioe.toString());
}catch (UnsupportedCallbackException uce) {
throw new LoginException
(“Error:”+uce.getCallback().toString() +
“not available to garner authentication information” +
“from the user”);
//”textField1 is not set correctly

When the ServletCallbackHandler gets a TextInputCallback, the callback looks for a field matching the prompt of the TextInputCallback. If there is a match, the callback handler sets the value in the callback. If no match is found, an UnsupportedCallback exception is raised. 

50. Question: What are the Default Groups Users and Everyone Used For?

Answer: The users and everyone groups are convenience groups that allow you to apply global roles and security policies. All WebLogic Server users are members of the everyone group. Only WebLogic Servers who are not the user are members of the user’s group.

Oracle Weblogic Course Overview

Java SE Advanced includes Java Mission Control and Java Flight Recorder for diagnosing problems in development and production. JMS clustering features such as Whole Server Migration and Automatic Service Migration support reliable enterprise messaging. Oracle WebLogic online training is the flagship Oracle WebLogic Server edition. Oracle WebLogic Suite is an integrated solution for building an on-premise application infrastructure that spans web server, application server, and data grid technology tiers. Oracle WebLogic online training includes all of Oracle WebLogic Server Enterprise Edition plus the integration of the Oracle Coherence Enterprise Edition data grid for performance and scalability, Active GridLink for RAC to optimize connectivity with Oracle Database RAC, Java SE Suite to minimize application latency, and all of iAS Enterprise Edition capabilities. Oracle WebLogic is the flagship Oracle WebLogic Server edition. It includes all of the capabilities of Oracle WebLogic Server, the industry’s #1 application server, and all of the features of Oracle WebLogic online training, and adds unique performance, availability, scalability and manageability capabilities to meet the needs of modern enterprises.

Job Opportunities on Oracle Weblogic

Oracle WebLogic online training enables enterprises to outperform their competitors while minimizing operational costs, and will scale to adapt to changing business conditions and application requirements. Oracle WebLogic online training includes Oracle Coherence Enterprise Edition, an in-memory data grid that enables applications to improve performance, scalability and reliability. Developers can use Oracle Coherence APIs, JCache or Memcached APIs, or can use features such as Coherence*Web HTTP session management to leverage Oracle Coherence functionality with no application programming. Oracle WebLogic online training now enables the management of Coherence clusters using the WebLogic Management Framework, and tools such as the WebLogic Console and WebLogic Scripting Tool (WLST). This Oracle WebLogic feature, called Managed Coherence Servers, provides a unified, efficient management infrastructure for managing Oracle WebLogic Server Online and Oracle Coherence together. Oracle WebLogic online training and Oracle Coherence offer superior capabilities as standalone products. No other application infrastructure provides the same combined, integrated capabilities as Oracle WebLogic Suite. Active GridLink for Oracle Real Application Clusters (RAC) integrates Oracle WebLogic Server and Oracle RAC. “GridLink” data sources connect to RAC clusters and simplify Oracle WebLogic Server management by isolating Oracle WebLogic Server configurations from RAC configuration changes.

SVR Features

Runtime Connection Load Balancing increases application performance and scalability. Transaction affinity ensures transactions are processed with maximum performance and reliability. Fast Connection Failover speeds detection of RAC node failures, and failover to remaining nodes, for continuous connectivity and improved system availability. In Oracle WebLogic online training for RAC now supports advanced features of Oracle Database 12c such as Global Data Services. Together with transaction affinity, Web session affinity and other features, Active GridLink for RAC delivers the best application server integration with the world’s premier database technology. Oracle WebLogic online training provides the Java runtime environment for Oracle WebLogic Suite, including access to the world’s two leading JVMs – Oracle JDK and Oracle JRockit. Oracle WebLogic online training advanced garbage collection technology reduces pause times and enables lowers latency for mission-critical applications that require performance and predictability. When your business cannot afford to have applications fail or have services become inaccessible, Oracle WebLogic online training provides organizations with high availability and superior monitoring and management capabilities to keep IT infrastructure running even as load on the system increases.

Conclusion

Oracle WebLogic online course training ensures superior application performance and provides deep diagnostic capabilities for production systems. Oracle WebLogic Server Enterprise Edition is engineered to support modern data centers with maximum uptime at minimum cost. It includes all of Oracle WebLogic online training, plus the following features. Dynamic configuration changes, production redeployment, and rolling upgrades are just a few of the capabilities that help maintain system availability. Cluster-wide management and deployment simplify management of clustered environments. Web Server plug-ins provide connectivity from Web Servers to Oracle WebLogic Server clusters, with dynamic load balancing across servers in the cluster. Server self monitoring and overload protection help avoid server failures. Session failover, whole-server migration, automatic service migration, and transaction recovery services maintain cluster availability when individual servers become unavailable. Oracle WebLogic Server also simplifies the configuration of multi-site deployments for Disaster Recovery needs. In Oracle WebLogic Server 12c, Dynamic Clusters provide a new option for cluster configuration, simplifying both initial cluster configuration, and enabling elastic scaling of clusters to meet changing requirements of cloud applications and environments. Reliable messaging at Oracle WebLogic online training between systems is critical for applications and modern data centers.

Leave a Comment

Scroll to Top