A few months ago, my colleague Jason Honicker wrote an entry on the EXTOL Technology Blog explaining how database triggers can be used to expand the functionality of your database to do more than just store data. I wanted to further the discussion on databases and talk this time about stored procedures.
A stored procedure is a routine, or program, which resides as part of the database itself. It’s typically written in SQL, PL/SQL, Java or .NET, depending on the type of database being used. Stored procedures enable developers and system administrators to maintain only one piece of code, which may be used across multiple business applications. This takes some of the pressure for business application developers to have to develop the database function directly into the business application. Instead, they simply need to know the procedure name, the parameters it requires and what kind of data could be returned. Read more…
Currently, one of the projects I am working on is finalizing the Course Catalog for EXTOL University. EXTOL U is our premier training event that is held once a year. It gives our customers the opportunity to further educate themselves on how to get the most out of their company’s product investment in EXTOL.
Many of our customers have attended a Fundamental Training course and that is the best place to start to learn about our products. But we don’t have enough time to cover all of the feature and functions. Continuing education provides the opportunity for better understanding how best to apply product capabilities in given circumstances, which includes best practices for problem analysis, design and implementation. Read more…
(This is the second in a series of articles that attempt to expose some of the more common mistakes and misunderstandings people make when implementing a SOAP Web Service.)
XML is a quite flexible data format. It allows the user many options, such as Choices, Sequences, Complex Types, Type Extension. But the flexibility can very easily be overdone. While it may seem like a good idea to have your service be flexible, it also makes using the service that much harder to use because of all the different formats that need to be handled.
A good example of taking flexibility too far is the SalesForce.com Web Services interface. It takes the idea of Type Extension to the absolute extreme. For those not familiar with Type Extension, see this tutorial. Type Extension can be very useful when you have types that are mostly similar, with just a few extra attributes added onto the extended types. For example, a good usage could be a personnel data model. Read more…
It is often a common practice of organizations to develop new EDI trading partners and transaction sets from within the same environment where production EDI trading partners and transaction sets already exist.
While this is possible, it can often be disruptive and dangerous as the results of test and modifications could inadvertently result in problems with production data.
Employing multiple EDI environments will make it possible for a single EDI translator to have access to (and use) two or more “EDI configuration areas”; for example, to separate all production configurations and data from development (or production division 1 from production division 2). Read more…
The File Transfer Protocol (FTP), although an older technology, is still very popular and is used routinely by IT departments and businesses worldwide. Even so, many users of FTP do not fully understand the difference between two of its basic configuration options: Active mode and Passive mode. I, being one of those people until a few years ago when I took on an FTP related project, intend to explain the details behind them.
FTP uses two communication paths (also know as “channels”) in order to accomplish its goal of transferring files from one location to another. The first is the control channel which is used to send FTP commands back and forth from the client and server. This connection is commonly made to port 21 of the server. The other channel, known as the data channel, is used to transmit the raw data of the files being sent. The server port used for this channel depends largely on what communication mode is being used, Active or Passive. Read more…
In my last blog, I talked about UDDI (Universal Description, Discovery and Integration) including where it’s been and where it might be going. In this article I’m going to take a different look at UDDI and consider the question, how useful is it to find what you’re looking for? One aspect of UDDI that has been overlooked by OASIS (Organization for the Advancement of Structured Information Standards), the Web Services standards body, is how to find services faster and more efficiently.
UDDI allows service providers to publish data about themselves and their Web Services, and supports simple searching for services. The standard UDDI search uses a single search criterion, such as business location, business name, service type by name, business category or business identifier. This limits the efficacy of UDDI for general service discovery. An example is searching by business category; the search might return the service you want, but you might need to filter the results to find it. Read more…
EXTOL, a leading developer of business integration software for mid-size companies, is looking for a project lead with prior experience in Eclipse RCP projects. We are currently re-designing our flagship product, EXTOL Business Integrator, and using a variety of Eclipse technologies for our foundation. Not merely an attempt to shoe-horn an old codebase into new APIs, this is a complete greenfield re-write from the ground up: Our development studio leverages RCP and GMF. Our domain objects and business process language are modeled in EMF. Our server runtime uses Equniox/OSGi and Swordfish. Our provisioning design leverages P2. This is a great opportunity for an experienced Eclipse developer and project manager to get in on the ground floor of a significant software development effort. Read more…
When most of us think about Case-sensitivity, we generally think of the way in which a program distinguishes between words using uppercase and lowercase letters. It’s important to understand how systemically, this can influence the way in which files, directories, objects, and libraries are referenced. Case-sensitivity makes things a little more complicated when multiple and remote systems are involved; often with more than one type of operating system. A common EXTOL configuration may have EBI running on Windows, but reading and writing files from several other UNIX/Linux systems. While Windows considers uppercase and lowercase letters in file names the same, Linux does not. If we’re not careful, our integration may fail, all because of a simple letter. This blog discusses how different operating systems – Windows, UNIX/Linux, and System i – and their related file systems treat case-sensitivity. It also suggests some general best practices. Read more…
Many considerations must be assessed when deciding on a standard format for exchanging information electronically with trading partners. Two of the more widely used document standards are Electronic Data Interchange (EDI) and Extensible Markup Language (XML). Of course, when doing business with buyers and larger partners it is generally necessary to comply with the requirements of those trading partners. However, it is good practice, and demonstrates good business sense, to be proactive and develop an in-house (internal) data specification (and format) that will provide an option for smaller partners to comply with.
Questions must be answered before best decisions can be made for your needs. Read more…
Structured Query Language (SQL) is a database computer language designed for managing data within relational databases. The most common applications for SQL are actions (calls) on the database using SELECT, UPDATE, DELETE and INSERT (data) functions. SQL can provide many other database calls that will contribute to the reduction of user programs. SQL includes built-in functionality that can help format and calculate data during any of these database actions/calls. Below are some examples of using SQL functions to accomplish these processes. Read more…