Test of conceptual understanding needed for Guidewire Integration.
File-based (read and write)
Shared database
Shared network drive
Synchronous RPC (remote calls)
Web Service
Predefined Plugins
"Custom" plugins
Guidewire Messaging
Consuming a Web Service
Shared Database
RPC implies a synchronous data transfer / remote call.
Guidewire Messaging implies an asynchronous data transfer / remote call.
Web Services are always synchronous in nature.
Web Services are commonly stateless (between calls) in nature.
Editing an XML file.
Assigning an implementation class for the plugin.
Setting a value for the number of threads used to handle requests that enter the plugin.
Defining parameter values as String / Object Map elements that the plugin can read during every service call (in case the values are updated).
Implementing an interface in a custom class.
The implementing class must declare override on all interface methods, (whereas this is optional in Java).
A GScript interface must be implemented in GScript.
A Java interface must be implemented in Java.
Java cannot declare overrides on methods in any fashion, while GScript optionally can.
GScript can package function implementations (for non-interface functions) with an interface, Java cannot.
Similar to the Java concept of an "anonymous inner class object", where it's common to have the inner class implementing only a single method.
A convenient mechanism to publish what are effectively "global" variables.
A kluge intended to work around serious inefficiencies caused by Java's strong typing mechanism.
A useful way of a providing code that can be invoked across multiple objects using a Visitor pattern.
Run code defined elsewhere in a way that is fully compatible with the Guidewire Transaction framework.
Enhancements provide an alternative way to define a class, They allow us to spread related fields and functions across different source code files, in order to provide better organization.
An enhancement is the only way to modify the behavior of an entity by adding additional non-property functionality. This is because there is no entity source code to modify.
An enhancement is a convenient way to modify the behavior of a Java class by adding additional non-property functionality. This is because it would be inconvenient and cumbersome to try to re-write the original source code.
Enhanced Java classes can have additional functionality as seen by both GScript and Java classes anywhere in the JVM.
Wait!
Here's an interesting quiz for you.