Skip to content

Streamlining Testing, Trading Partner Integration, and Certification

In our next webinar, we are going to be taking a look at a platform and methodologies for interoperability testing. If you’ve followed HR-XML this past year, you know that our current work more than ever before incorporates best practices of peer standards organizations. For example, readers of this blog know that HR-XML’s 3.0 release is substantially aligned with the Open Applications Group architecture.

The testing platform that is the subject of this webinar is something we learned of through liaison with our colleagues at Acord, the insurance standards organization. Register for the webinar to learn more. However, a good introduction is provided in this video available on the Acord website.

Streamlining Testing, Trading Partner Integration, and Certification: A Look at PilotFish Technology’s XCS eiPlatform and HR-XML

2008 July 23, 1:00 pm - 2:15 PM EDT; 10:00 AM - 11:15 AM PDT

Reserve your Webinar seat now at:
https://www1.gotomeeting.com/register/297314148

A growing number of enterprises are looking to vertical and horizontal standards organizations as sources for the canonical data models and message schemas necessary to support service oriented architectures (SOAs) and to enable agile integration with trading partners. The good news is that there is increasing maturity and even convergence among a variety of XML standards. Nevertheless, challenges remain. While libraries such as HR-XML’s forthcoming Version 3.0 release are informed by almost 10 years of industry contributions and are architecturally more consistent and robust than ever before, the breadth of these libraries and the options available therein pose their own challenges to implementers.

This webinar will examine the value of a flexible validation server to support testing against industry standards — and against profiles of those standards that particular enterprises and their trading partners may implement. The HR-XML Consortium is among several industry standards groups evaluating the Pilotfish XCS eiPlatform as a tool to assist its community with testing and conformance.

This Webinar will give a quick overview of HR-XML forthcoming 3.0 release and discuss new requirements and possible new directions in standards certification.

PilotFish Technology’s XCS eiPlatform will be introduced and near real-time response to messages submitted for validation demonstrated. The webinar will also review how trading-partner profiles and extensions might be accommodated.

Presenter Panel
Chuck Allen, HR-XML Consortium, will moderate the panel:

Neil Schappert – President

Neil is the founder of PilotFish Technology. Neil has over 30 years experience in the computer software and services industry. Before founding PilotFish, Neil held positions as: Chief Operating Officer for Sherwood International, President of Alliance-One, a wholly owned business process outsourcing subsidiary of Computer Sciences Corporation, and Executive Vice President of Computer Sciences Corporation in charge of the Life & Annuity division. Neil is a Magna Cum Laude graduate of Boston College where he earned a Bachelor of Science degree with a concentration in finance.

Alex Valys - Research

Alex has over 6 years experience with PilotFish Technology. He has been instrumental in defining the architecture and design of our flagship products, the XCS eiPlatform, XCS eiConsole, and Dashboard. Alex is a graduate of the Massachusetts Institute of Technology where he earned a Bachelor of Science degree in Electrical Engineering and Computer Science.

Jamie Mazur – Client Services

Jamie has over 6 years experience with PilotFish Technology. Jamie has worked closely with the Research and Development groups within PilotFish to identify and respond to customer requirements and requested enhancements. He has overseen dozens of implementations of the PilotFish software and is considered an expert relative to the implementation of the XML standards. Jamie is a Summa Cum Laude graduate of Trinity College where he earned a Bachelor of Science in Computer Science.

Tagged , , , , ,

OAGIS 9.3: Platform for Standards Developers

David Connelly, CEO, Open Application Group has announced the availability of the OAGIS 9.3 Release Candidate (9.3 RC1). Take a look.

One of the items David mentions below is the “OAGIS Business Integration Platform for
standards developers.” What is that about? It is an platform architecture into which horizontal standards like HR-XML and vertical standards groups like Starstandards.org, AIAG.org, and other groups with OAGIS-based architectures can plug-in. If you are an HR-XML implementer that wants to use a bit of OAGIS, or if you are a STAR or OAGIS implementer that wants to mix in some HR-XML, this will be a great convenience. My personal hope would be that some of the learning and education standards will buy into the platform concept.

David Connelly writes:

I am very pleased to announce that OAGIS 9.3 Release Candidate One is
now available for Public Review. This process is done to ensure the
highest quality possible standards available to our users.

This phase is expected to last 30 days after which time we will take the
Release Candidate off the web site, review all feedback, and make the
changes deemed necessary by our member driven quality assurance team.
We will then prepare the final version of OAGIS 9.2 and post it for
general availability.

This is a very exciting release of OAGIS with some never before features
including:

1) High Tech Order To Cash and Procure to Pay support
2) Mid Market version of OAGIS for Order to Cash
3) The first release of the new OAGIS Business Integration Platform for
standards developers

We encourage people to download and review this Release Candidate and to
give us your feedback.

You can learn more and download the standard here.

Using HR-XML in a pureXML Database

Last year, I wrote a post and provided some links to a site where IBM had demonstrations of using industry standard XML schemas within “pureXML” databases. As mentioned below, how to work with HR-XML and databases is likely at the top of our all-time list of frequently asked questions. If you haven’t looked at the capabilities of XML native databases, you’ll want to register for this free webinar. What really makes this interesting is the combination of an XML-aware database, technologies such as XQuery and XPath, and Web 2.0 technologies such as Atom and related syndication technologies. From a business point of view, what all this technology can add up to is savings in database and application design and some very flexible and dynamic ways to extend your customer’s or trading partner’s view into transactional data.

Using HR-XML With a pureXML Database
Wednesday, May 21, 2008 1:00 PM - 2:30 PM EDT
(10:00 AM - 11:30 AM PDT)

One of the questions most frequently asked by those implementing HR-XML is how do I map it into a database? While some may take on the task of mapping HR-XML to fields in their relational databases, there are alternatives.

This webinar describes how you can store, index, and query HR-XML easily without first mapping to relational structures. Compared to relational database storage, the pureXML database approach can offer considerable design and development savings. Schema evolution becomes much easier as there is no longer any need to re-structure the way data is stored in the face of HR-XML structure changes. For added flexibility, there is no need to associate exactly one schema with the stored XML, the appropriate version of the HR-XML schema can be used. New SOA, Web Services, Web 2.0, Mashup and Forms solutions for HR-XML become easier to build.

A pureXML HR-XML solution will be described and illustrations will be provided through interactive demonstrations and downloads that you can find through by typing Google pureXML alphaWorks.

Register today for this free webinar:
https://www1.gotomeeting.com/register/268212569

About the Presenter

Susan Malaika is a Senior Technical Staff Member in IBM’s Information Management Group in the DB2 pureXML team. She has developed standards that support data for grid environments at the Global Grid Forum. Her specialties include XML, the Web and Web Services. In addition to working as an IBM product software developer, she has also been an Internet specialist, a data analyst, and an applications designer and developer. Susan has co-authored a book about Web tools, and published articles on transaction processing and XML. She is a member of the IBM Academy of Technology.

Tagged , , , ,

Of Holy Grails, Resumes, Job Postings, and Social Media

A “holy grail” for some with respect to online recruiting would be data standards that would enable job postings to essentially serve as a query against any segment of the world-wide set of resumes or CVs on the Web. The vision is that this might evolve into a real electronic market where talent supply and demand could be matched in a precise, on-demand way. What stands in the way of this automagic, world-wide matching of talent supply and demand? This sometimes perplexes those coming at the question from the purely from technical side, but is almost immediately apparent to recruiting professionals.

What do recruiters know that takes longer for the techies to grasp? — that recruiting is still predominantly a set of complex marketing communications with employers marketing themselves to candidates and visa versa. The big issue is not one of syntax or technology, but of reliable information and understanding. Job postings as well as resumes and CVs are designed as persuasive marketing pieces. Matching “marketing piece” to “marketing piece” has some value in the discovery phase of a search for a prospective candidate (or employer), but such discovery is just a first step in a search. The most obvious problem with the “holy grail” vision of the web itself functioning as an electronic market for directly matching talent supply and demand, is the lack of transparent, reliable, and comparable data with which to perform matches.

What is the state of job and candidate data on the web? I’m not sure whether the state of online job postings and resumes is getting any worse, but I don’t see evidence that it is getting any better. On the employer side of things, you still too often see a hodge-podge of skills strewn within job postings. Rather than being a solid attempt to describe a position coherently, I suspect these “skill laundry lists” often are related to a recruiter’s attempt to optimize postings for search engine discovery or a manager’s or the HR department’s attempt to try to cover all bases or to stay ahead of skill and technology trends. On the candidate side of things, outright resume fraud might be less common than it once was, but with regard to the gray area of claiming skills or experience on a resume, the “burden-of-proof” standard is very low or non-existent. Of course, one set of behavior — employers creating job postings with insane skill laundry lists — obviously encourages the other — candidates exaggerating their skills or experience in resumes.

The other current challenge (and opportunity) is that for a growing number of knowledge workers there can be more relevant and meaningful information about the individuals’ capabilities located within social media and Web 2.0 content than in conventional resume or CV content. The ePortfolio community has long championed the value of self-maintained collections of learning and professional history and plans. However, consider even something even very simple and informal like a person’s twitter time line or bookmarks on del.icio.us. What might you learn from such content? This is hit-or-miss. However, certainly in some cases, you might find a rather complete work history and even a record of milestones and deliverables (amongst details about life’s minutia) . Such content sometimes provides a way to reality check claimed interests and experience within a resume.

Of course, not everyone’s twitter time line will be illuminating. Social media by its very nature is pretty scrappy data and likely should never be used on its own to either qualify or disqualify a candidate. My point is that these bread crumbs of personal and professional experience in many cases are certainly as valuable or more valuable than the typical laundry list of asserted skills or experience within a resume. There are wide-ranging personal comfort levels (and discomfort levels) associated with living and working in a transparent way on the Web via blogging, social and professional networking, photo sharing, calendars sharing, social bookmarking, etc. However, clearly we already are well into a new era in which data from a person’s social graph and self-contributed web content can be as important as traditional resume or CV content. For that matter, resumes and job announcements are well on their way to simply becoming part of the fabric of social network profiles and news feed content.

So how do standards and data formats fit in? Standards and data formats increasingly provide a critical foundation for making social graph content usable for recruiting and job search or any other purpose. While standards and data formats by themselves do nothing, fortunately there is no shortage of commercial, community, and individual development efforts aimed at delivering new applications and new ways of working with social graph content.

As I’ve said in previous posts, Microformats fit the bill for adding light structure and intelligence to browser-consumable profile, job, and social graph content. In this regard, Microformats aid both the discovery of candidates/jobs and also provide key linkages to related content and contacts. However, discovery and sourcing data is just the start of a recruiting process.

A state-of-the-art approach to recruiting almost always involves follow-on, value-added processes aimed at normalizing such data for comparison, validating the data, and correlating data with other sources. It is among these follow-on processes where HR-XML will continue to be most important. HR-XML will continue to be the right fit for the system-to-system communication of candidate and job posting data as well as a principal output format for resume parsers. An area where you’ll growth in the use of HR-XML also is as an intermediate format that social networking applications use to pre-populate third-party job application forms with detailed profile data or otherwise share such profile data with employer or partner systems at the direction of the candidate. Changes planned within HR-XML 3.0’s recruiting specifications will be a topic for a future post, but broadly speaking I think you’ll see additional documents defined aimed at better supporting use cases involving the submission of formatted (even Microformatted) advertising content as well as additional structured representations of position and candidate data aimed at fulfilling what are mainly partner-to-partner interactions between HR service providers.

Tagged , , , , ,

From BODs to REST

There is now a great volume of material available on the Web comparing Web services built using WS-* stack technologies to those built using RESTful design principles. Just weeks ago, Burton Analyst Kurt Cagle offered us what practically was a short-course on RESTful web services design and its origins.

As I’ve mentioned in past posts, the HR domain is amazingly diverse. There are many back-office, computer-to-computer collaborations between HR trading partners for which the WS-* stack is still likely the best fit today and for the future. Yet on the other hand, HR also deploys a great and growing number of browser-consumable, computer-to-human services. In fact, the diversity of requirements is such, that one can easily imagine a company having both types of interfaces even for the same underlying resources or services (e.g., a WS-* based back-office service for handling high-volume, computer-to-computer submissions of job postings as well as a RESTful service to handle human-initiated job postings from a business-partner’s website). So it is realistic to expect these two approaches for web services to live side-by-side within the same organization. This leads to the premise behind of this post, which is that if you are faced with supporting both these web services design styles, or if you are looking for architecture that could help you migrate from one-style to the other, there are some patterns within the forthcoming HR-XML 3.0 architecture that could be helpful.

Where We’ve Been

A recently revised set of WSDL’s for HR-XML’s 2.5 Assessment specification is illustrative of our design approaches within the 2.* series of releases. There are two WSDLs: One for a service hosted by the customer and the other for a related service hosted by the provider. These aren’t normative, rather, they are intended as “starter-kit” templates for implementers. The WSDLs import types from the HR-XML Assessment schemas, wrap those types in messages defined within the WSDL target namespace, set out operations (input/output/fault, etc.) within a PortType, bind those operations to SOAP, and then provide a place for implementers to specify a network endpoint to which requests would be sent.

You can characterize the definitions within these WSDLs as being more “activity-based” than “resource-oriented.” The example I’ll carry through this post is the retrieval of an assessment order status. In the 2_5 design, this is accomplished using a “GetAssessmentStatus” method. The input is a GetAssessmentStatus message, which brings in the hrxml:AssessmentRequestType. This is a special-purpose type with just the thin bit of data you might need to retrieve an assessment status (most importantly an OrderId). The output is a “ShowAssessmentResult.” In the output, either a status is returned, or, if one is available, the completed assessment result.

Where We Are Going

You can’t really describe the Business Object Document (BOD) architecture within HR-XML 3.0 as “RESTful,” but it is fair to characterize it as “resource oriented” (at least compared to the “activity-oriented,” RPC approach covered above). A BOD is a message that creates a “business object” or reads, updates, cancels (etc.) such a business object. Rather than use a special-purpose message to request status, the usual approach using BODs would be to take the “noun” representing the object/resource in question and combine it with the appropriate verb type from the OAGIS library. Rather than using the special-purpose message to call a particular method (e.g., GetAssessmentStatus), the HR-XML 3.0 noun contains all the properties necessary to fulfill the purpose of the particular business object, including a “Status Property.” So using the BOD approach, you’d combine the standard OAGIS “Get” verb together the AssessmentReport noun into a GetAssessmentReport BOD. The response to a GetAssessmentReport would be a ShowAssessmentReport. An XPath within the Get verb’s expression element would be used to set the scope of what you want evaluated or considered in processing the request. An action code communicates what is to be done within that scope. Then fields such as OrderID are used within the noun to specify a particular order (Order no 1234) to retrieve. In the BOD syntax, this might look like so:

<GetAssessmentReport
       systemEnvironmentCode=“Production”
       releaseID=“1″
       versionID=“0″
       languageCode=“en-US”
       xsi:schemaLocation=“http://www.hr-xml.org/3
       http://schemas.hr-xml.org/xc/canon/3.0/BODs/Developer/GetAssessmentReport.xsd”
       xmlns=“http://www.hr-xml.org/3″
       xmlns:oa=“http://www.openapplications.org/oagis/9″
       xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”>
       <oa:ApplicationArea>
		<oa:CreationDateTime>2007-04-05</oa:CreationDateTime>
       </oa:ApplicationArea>
       <DataArea>
	<oa:Get uniqueIndicator=“true” maxItems=“2″>
	<oa:Expression expressionLanguage=“XPath”>GetAssessmentReport/AssessmentReport</oa:Expression>
	</oa:Get>
	<AssessmentReport>
	<OrderID schemeID=“Test Order No” schemeAgencyID=“AssessCo.com”>100-777999-33</OrderID>
	</AssessmentReport>
	</DataArea>
</GetAssessmentReport>

So compared to the 2_5 approach, there are no special-purpose messages. Broadly speaking, requests are fashioned and fulfilled by setting a scope within the associated business object, specifying the action to apply, and including necessary field values. See the slide deck from the “BOD Mechanics” session at HR-XML’s Atlanta meeting for an in-depth treatment of this subject.

Getting RESTful

The public API for a RESTful web service principally is a set of URIs. This set of URIs, when properly designed and conceived, becomes “a resource architecture.” Basically, the idea is to come up with a URI template scheme that allows you expose a URI for every piece of data that your users or trading partners need to operate on. In other words, the URI, like the XPath in the above BOD scenario, sets the scope of what it is that will be operated upon or considered in a particular interaction. The idea of one URI for each piece of data is a significant departure from the WS-* style of web services, in which there is typically a single URI designated as the network endpoint to which many different types of method requests go.

RESTful APIs often are presented in a matrix-style table format, which indicate the URI template to use with which HTTP verb to accomplish particular types of outcomes (e.g., creating new resource instances, reading the state of resources, updating resources, etc.). Like the BOD approach, there is a separation of verb and resource instead of building semantics into a special-purpose method request. So to carry through the AssessmentReport example introduced above, a RESTful implementation might rely on a URI template like the one below:

http://www.reallygoodassessments.com/v1/AssessmentReport/{OrderID}

So to get a status or retrieve a completed report, you’d use an HTTP Get and insert the particular Order ID within the URI template:

http://www.reallygoodassessments.com/AssessmentReport/1234

If you compare the BOD example to the REST example, there are a few things that drop out. For example <oa:Get uniqueIndicator=”true” maxItems=”2”> There’s on-going discussion about service descriptions for RESTful services. Web Application Description Language (WADL) is one format proposed for such descriptions. WADL is intended as a service contract, much like WSDL for WS-* stack web services. It occurs to me that conditions governing a GET, such as the above-referenced “unique indicator” and “max items,” might be the things you’d specify in a WADL or that might otherwise be relegated to interface documentation or trading partner agreement.

Any Parallels?

Are there any patterns in common between the BOD and RESTful approaches that could be leveraged in providing BOD implementers a path (no geek pun intended) to RESTful web services? I think there are. Consider the “BOD Mechanics” deck that I’ve referenced a few times. If you gave a group of REST-knowledgable architects the set of definitions that appear beginning on page 45 for data management using BODs, I’d guess most would find the raw material they’d need to derive a resource architecture and associated RESTful API.

One thing I find interesting is the correlation in purpose of the URI template within REST and the expression used within an OAGIS verb. Basically, each is setting the scope of what part of a business object or resource will be evaluated or considered in applying an action. REST uses an URI. The BOD uses an expression such as XPath. I have to imagine this similarity in purpose and structure could be useful in managing RESTful and BOD-based interfaces in parallel or in migrating a service from one to the other style of interface. The other quality of OAGIS BOD architecture that strikes me as reasonably parallel (versus perfectly parrallel) is the considerable restraint and discipline the OAGi community has used in avoiding the proliferation of verbs and in avoiding verbs that are overloaded with complex business semantics. OAGIS verbs are course-grain verbs. While OAGIS verbs include some business semantics that go beyond the RESTful HTTP verb set, I’d think you’d find that many OAGIS implementers use a relatively small subset of the OAGIS verbs and would be able to do the necessary mapping to HTTP verbs.

I expect that this is a topic HR-XML and other groups using the OAGIS BOD architecture will begin to explore in earnest next year (I think HR-XML has enough on its plate this year!). Based on my observations and correspondence with architects with some of HR-XML’s peer standards organizations, I expect in the not so distant future, you’ll see more vertical business standards groups looking at supporting RESTful variations of their standards.

Tagged , , , ,

Learn More About BODs: OAG Meeting April 29-30

To understand HR-XML 3.0, a good grasp of the Open Applications Group’s Business Object Document (BOD) framework is helpful. At last month’s Atlanta meeting, we had a session that gave us an in-depth look at how BODs work. This slide desk is a great resource. You can also find video of this session linked off of this prior blog post.

If you are interested in learning more, a good opportunity is provided by the Open Applications Group’s, April 29 - 30, 2008 meeting, in Gaithersburg, MD, US. The event is being held at the U.S. National Institute of Standards and Technology (NIST). I’ve copied the details from the OAGIS website below. One tip I can pass along from prior attendance of meetings at NIST is to register early. This is a secure facility. If you wait until the last moment, you may face some delay checking in at the gate to the campus.

You can learn more about the location of the meeting, hotel, get directions, and register for the meeting just below.

HIGHLIGHTS INCLUDE

Architecture Council, High Tech Council, and Partner Council Meetings - We will be having Council meetings for all of our active councils.

Working Group Meetings - We plan to have working sessions for our Manufacturing, High Tech Order-To-Cash-Procure-To-Pay, Mid-Market, and our Manufacturing Working Groups.

Industry Updates - We are very pleased that three of our OAGIS Partners (AIAG, STAR, and HR-XML) will be updating us on their OAGIS initiatives.

OAGIS User Sessions - We will be having discussions concerning Extending BODs, Data Management, and Stewardship of BODs.

Special NIST Sessions - Also, please note that we are having a special session by NIST concerning their work to build validation engines for our standards work, including an automatic validator for our Naming and Design Rules (NDR) document.

MEETING AGENDA

The meeting agenda is online here.

If you have any questions, please write to us at meetings@openapplications.org. We encourage you to make your reservations as soon as possible and wee look forward to seeing you there!

EVERYONE IS WELCOME

All OAGi corporate members attend for free, but you do not have to be an OAGi member to attend. Individual members and non-members pay only a $275.00 fee to cover expenses.

We take MasterCard, Visa, and American Express and an OAGi representative will contact you when you register. Please feel free to invite your friends and colleagues.

The Problem with People (Modeling Them)

One of HR-XML’s big challenges is people — or more specifically how to model them. HR-XML needs to represent human resources — and a variety of their “designees” — in a variety of contexts and roles: employee, candidate, contractor, subscriber, account holder, assessment subject, screening subject, appraisal subject, supervisor, dependent, beneficiary, etc.

People are amazingly complex and information requirements across the HR services domain are amazingly diverse. Compounding the problem is that XML, the syntax HR-XML currently uses in expressing its data model, has a few limitations that can make managing complexity challenging. As mentioned in a recent post, one of those limitations is that there isn’t an elegant, XML-native way to sub-class a larger superclass. So there isn’t an easy way to say that something like “Assessment Subject Person” or “Plan Participant Person” is a sub-class of a broader Person or Human Resource object class and that the sub-class uses a narrower, specialized set of components from the superclass. Within XML schema, it’s easier to build things up from bits and pieces than it is to restrict something larger down to something smaller.

Global Scoping: Changes to Our XML Library

One concession to the “bits and pieces” nature of XML schema, is that HR-XML 3.0 will make most components globally scoped — both aggregate components as well as field-level components. This will give us much more control in developing a consistent model across our dozen or so sub-domains. Note that what is an advantage at design-time, poses other issues at implementation (See Less is More: Flattening, Profiling, Slimming). Within the 2.* HR-XML architecture, reuse was mainly managed through the sharing of discrete “Cross Process Objects.” In 3.0, everything is shared. We are moving HR-XML specifications out of the sub-domain silos, componentizing them, reconciling them, and putting them into a single model.

HR-XML 3.0 will still be a library of XML schemas. It will not truly be “model-driven” in the sense of being independent of XML syntax. However, the HR-XML 3.0 project does take us in the direction of a syntax-neutral, model-driven library. The Core Component Technical Specification (CCTS) provides us with the framework for constructing that syntax-neutral model. CCTS is quite a weighty topic that I can’t cover in a blog post, but suffice it to say that core component analysis layered over our re-factored XML library gives us an important way to manage our “people problem.”

CCTS’s Data Element Model and Sub-Classing

CCTS uses a “data element name” (DEN) modeling convention set out under ISO 11179-5. Under that convention, a data element name (not necessarily the physical, HR-XML 3.0 tag name) is composed of an: object class term, a property class term, and representation term (in order). The notation for DENs relies on a period (”.”) to separate the three types of terms. DENs also may include “Qualifier” terms. These may be attached to narrow or refine object class terms, property terms, or representation terms. Under the notation for DENs, qualifier terms are specified with an underscore suffix (”_”).

Consider the above core-component approaches in light of what I mention about XML in the third paragraph. What the core component approach gives us is a way to think about and manage the sub-classing that XML doesn’t really provide natively. With regard to HR-XML’s “people problem,” the core component approaches give us a way to manage information about people across our library, without having to resort to a monolithic, “one-size-fits-all” model or, conversely, a set of siloed, fragmented specifications.

Applying CCTS to the HR People Problem

Within the human resource context, there is — at least conceptually — a huge, all encompassing “Person. Details” class. This may never be instantiated in the HR-XML library, but this class is useful to think about as a foundational, abstract class that has everything anyone would want to know about a person within an HR context. This superclass would be restricted or qualified in a variety of ways across our library. Consider the following examples (using the DEN notation introduced above).

  • Subscriber_ Person. Details. This narrows the set of properties within the Person. Details class to those relevant in describing a subscriber within an employee benefits program, such as health or life insurance. Among the many properties within this sub-class would be “Tobacco User. Indicator” — essentially a Boolean value to capture information about tobacco use, which may be required for insurance program underwriting.
  • Screening Subject_ Person. Details. This is the set of Person. Details properties relevant to describing someone who is the subject of employment screening, such as a pre-hire criminal record search. This restricted set of details does not include the above-referenced “Tobacco User. Indicator,” but does include a wide variety of other properties. For example, based on source-agency or court requirements, Screening Subject_ Person. Details includes an “Identifying Marks. Code” to classify visible features such as “tattoos”.
  • Assessment Subject_ Person. Details This is a set of properties relevant in conducting employment-related testing or assessments. This sub-class for an assessment subject would include neither of the above-reference properties (Tobacco User. Indicator nor Identifying Marks. Code), but would share many other demographic properties with those other sub-classes, such as “Gender Code,” “Race Code,” etc. Such demographics typically are collected by test publishers to statistically validate that tests are predictive and do not have a disparate, discriminatory impact.

The three examples above are just a small glimpse of how the core components approach can help HR-XML improve consistency across its specifications without forcing an unwieldy, monolithic, one-size-fits all “person model” across diverse HR sub-domains. This post just scratches the surface. I’ll revisit the above approaches and other examples in later posts.

Tagged , , , , , , ,

BOD Roster: The Latest Build

Here’s the latest build of business object documents (BODs) the HR-XML 3.0 DRAFT:

ProcessAssessmentOrder
AcknowledgeAssessmentOrder
CancelAssessmentOrder
ChangeAssessmentOrder
GetAssessmentOrder
ShowAssessmentOrder
RespondAssessmentOrder
ProcessAssessmentOrder.xsd
AcknowledgeAssessmentOrder.xsd
CancelAssessmentOrder.xsd
ChangeAssessmentOrder.xsd
GetAssessmentOrder.xsd
ShowAssessmentOrder.xsd
RespondAssessmentOrder.xsd
ProcessAssessmentReport
AcknowledgeAssessmentReport
CancelAssessmentReport
ChangeAssessmentReport
GetAssessmentReport
ShowAssessmentReport
RespondAssessmentReport
ProcessAssessmentReport.xsd
AcknowledgeAssessmentReport.xsd
CancelAssessmentReport.xsd
ChangeAssessmentReport.xsd
GetAssessmentReport.xsd
ShowAssessmentReport.xsd
RespondAssessmentReport.xsd
ProcessCandidate
AcknowledgeCandidate
CancelCandidate
ChangeCandidate
GetCandidate
ShowCandidate
RespondCandidate
ProcessCandidate.xsd
AcknowledgeCandidate.xsd
CancelCandidate.xsd
ChangeCandidate.xsd
GetCandidate.xsd
ShowCandidate.xsd
RespondCandidate.xsd
ProcessDrugTestResult
AcknowledgeDrugTestResult
CancelDrugTestResult
ChangeDrugTestResult
GetDrugTestResult
ShowDrugTestResult
RespondDrugTestResult
ProcessDrugTestResult.xsd
AcknowledgeDrugTestResult.xsd
CancelDrugTestResult.xsd
ChangeDrugTestResult.xsd
GetDrugTestResult.xsd
ShowDrugTestResult.xsd
RespondDrugTestResult.xsd
ProcessEPMParticipant
AcknowledgeEPMParticipant
CancelEPMParticipant
ChangeEPMParticipant
GetEPMParticipant
ShowEPMParticipant
RespondEPMParticipant
ProcessEPMParticipant.xsd
AcknowledgeEPMParticipant.xsd
CancelEPMParticipant.xsd
ChangeEPMParticipant.xsd
GetEPMParticipant.xsd
ShowEPMParticipant.xsd
RespondEPMParticipant.xsd
ProcessEPMResult
AcknowledgeEPMResult
CancelEPMResult
ChangeEPMResult
GetEPMResult
ShowEPMResult
RespondEPMResult
ProcessEPMResult.xsd
AcknowledgeEPMResult.xsd
CancelEPMResult.xsd
ChangeEPMResult.xsd
GetEPMResult.xsd
ShowEPMResult.xsd
RespondEPMResult.xsd
ProcessIndicativeData
AcknowledgeIndicativeData
CancelIndicativeData
ChangeIndicativeData
GetIndicativeData
ShowIndicativeData
RespondIndicativeData
ProcessIndicativeData.xsd
AcknowledgeIndicativeData.xsd
CancelIndicativeData.xsd
ChangeIndicativeData.xsd
GetIndicativeData.xsd
ShowIndicativeData.xsd
RespondIndicativeData.xsd
ProcessNewHire
AcknowledgeNewHire
CancelNewHire
ChangeNewHire
GetNewHire
ShowNewHire
RespondNewHire
ProcessNewHire.xsd
AcknowledgeNewHire.xsd
CancelNewHire.xsd
ChangeNewHire.xsd
GetNewHire.xsd
ShowNewHire.xsd
RespondNewHire.xsd
ProcessOrganizationChart
AcknowledgeOrganizationChart
CancelOrganizationChart
ChangeOrganizationChart
GetOrganizationChart
ShowOrganizationChart
RespondOrganizationChart
ProcessOrganizationChart.xsd
AcknowledgeOrganizationChart.xsd
CancelOrganizationChart.xsd
ChangeOrganizationChart.xsd
GetOrganizationChart.xsd
ShowOrganizationChart.xsd
RespondOrganizationChart.xsd
ProcessPayrollBenefitContributions
AcknowledgePayrollBenefitContributions
CancelPayrollBenefitContributions
ChangePayrollBenefitContributions
GetPayrollBenefitContributions
ShowPayrollBenefitContributions
RespondPayrollBenefitContributions
ProcessPayrollBenefitContributions.xsd
AcknowledgePayrollBenefitContributions.xsd
CancelPayrollBenefitContributions.xsd
ChangePayrollBenefitContributions.xsd
GetPayrollBenefitContributions.xsd
ShowPayrollBenefitContributions.xsd
RespondPayrollBenefitContributions.xsd
ProcessPayrollInstruction
AcknowledgePayrollInstruction
CancelPayrollInstruction
ChangePayrollInstruction
GetPayrollInstruction
ShowPayrollInstruction
RespondPayrollInstruction
ProcessPayrollInstruction.xsd
AcknowledgePayrollInstruction.xsd
CancelPayrollInstruction.xsd
ChangePayrollInstruction.xsd
GetPayrollInstruction.xsd
ShowPayrollInstruction.xsd
RespondPayrollInstruction.xsd
ProcessPositionCompetencyModel
AcknowledgePositionCompetencyModel
CancelPositionCompetencyModel
ChangePositionCompetencyModel
GetPositionCompetencyModel
ShowPositionCompetencyModel
RespondPositionCompetencyModel
ProcessPositionCompetencyModel.xsd
AcknowledgePositionCompetencyModel.xsd
CancelPositionCompetencyModel.xsd
ChangePositionCompetencyModel.xsd
GetPositionCompetencyModel.xsd
ShowPositionCompetencyModel.xsd
RespondPositionCompetencyModel.xsd
ProcessPositionOpening
AcknowledgePositionOpening
CancelPositionOpening
ChangePositionOpening
GetPositionOpening
ShowPositionOpening
RespondPositionOpening
ProcessPositionOpening.xsd
AcknowledgePositionOpening.xsd
CancelPositionOpening.xsd
ChangePositionOpening.xsd
GetPositionOpening.xsd
ShowPositionOpening.xsd
RespondPositionOpening.xsd
ProcessResume
AcknowledgeResume
CancelResume
ChangeResume
GetResume
ShowResume
RespondResume
ProcessResume.xsd
AcknowledgeResume.xsd
CancelResume.xsd
ChangeResume.xsd
GetResume.xsd
ShowResume.xsd
RespondResume.xsd
ProcessSavingsPlanEnrollment
AcknowledgeSavingsPlanEnrollment
CancelSavingsPlanEnrollment
ChangeSavingsPlanEnrollment
GetSavingsPlanEnrollment
ShowSavingsPlanEnrollment
RespondSavingsPlanEnrollment
ProcessSavingsPlanEnrollment.xsd
AcknowledgeSavingsPlanEnrollment.xsd
CancelSavingsPlanEnrollment.xsd
ChangeSavingsPlanEnrollment.xsd
GetSavingsPlanEnrollment.xsd
ShowSavingsPlanEnrollment.xsd
RespondSavingsPlanEnrollment.xsd
ProcessScreeningOrder
AcknowledgeScreeningOrder
CancelScreeningOrder
ChangeScreeningOrder
GetScreeningOrder
ShowScreeningOrder
RespondScreeningOrder
ProcessScreeningOrder.xsd
AcknowledgeScreeningOrder.xsd
CancelScreeningOrder.xsd
ChangeScreeningOrder.xsd
GetScreeningOrder.xsd
ShowScreeningOrder.xsd
RespondScreeningOrder.xsd
ProcessScreeningReport
AcknowledgeScreeningReport
CancelScreeningReport
ChangeScreeningReport
GetScreeningReport
ShowScreeningReport
RespondScreeningReport
ProcessScreeningReport.xsd
AcknowledgeScreeningReport.xsd
CancelScreeningReport.xsd
ChangeScreeningReport.xsd
GetScreeningReport.xsd
ShowScreeningReport.xsd
RespondScreeningReport.xsd
ProcessStaffingOrder
AcknowledgeStaffingOrder
CancelStaffingOrder
ChangeStaffingOrder
GetStaffingOrder
ShowStaffingOrder
RespondStaffingOrder
ProcessStaffingOrder.xsd
AcknowledgeStaffingOrder.xsd
CancelStaffingOrder.xsd
ChangeStaffingOrder.xsd
GetStaffingOrder.xsd
ShowStaffingOrder.xsd
RespondStaffingOrder.xsd
ProcessTimeCard
AcknowledgeTimeCard
CancelTimeCard
ChangeTimeCard
GetTimeCard
ShowTimeCard
RespondTimeCard
ProcessTimeCard.xsd
AcknowledgeTimeCard.xsd
CancelTimeCard.xsd
ChangeTimeCard.xsd
GetTimeCard.xsd
ShowTimeCard.xsd
RespondTimeCard.xsd
ProcessUSEnrollment
AcknowledgeUSEnrollment
CancelUSEnrollment
ChangeUSEnrollment
GetUSEnrollment
ShowUSEnrollment
RespondUSEnrollment
ProcessUSEnrollment.xsd
AcknowledgeUSEnrollment.xsd
CancelUSEnrollment.xsd
ChangeUSEnrollment.xsd
GetUSEnrollment.xsd
ShowUSEnrollment.xsd
RespondUSEnrollment.xsd
ProcessUserAccount
AcknowledgeUserAccount
CancelUserAccount
ChangeUserAccount
GetUserAccount
ShowUserAccount
RespondUserAccount
ProcessUserAccount.xsd
AcknowledgeUserAccount.xsd
CancelUserAccount.xsd
ChangeUserAccount.xsd
GetUserAccount.xsd
ShowUserAccount.xsd
RespondUserAccount.xsd
Tagged

National Recommit to Your Resolutions Day

Silicon-alley start-up FindingDulcinea.com declares it to be “National Recommit to Your Resolutions Day”.

Exploring the Restful Stack

The Atom Publishing Protocol (”AtomPub”) is an HTTP-based approach for creating and editing “Web resources.” These resources could be things like blog entries, podcasts, wiki pages, calendar entries and so on. However, there is nothing that says resources can’t be things like job postings, candidate profiles, competency definitions, position profiles, performance results, or other HR content.

AtomPub was published as Internet Engineering Task Force RFC 5023 just six months ago. While relatively young, the AtomPub protocol and the RESTful design principles it embodies are receiving increasing attention as lightweight alternatives to heavy-weight WS-* stack technologies.

I mentioned in a previous post, that HR has a good number of strictly computer-to-computer services that likely remain a good fit with the WS-* stack. However, with respect to services consumed or invoked in a browser (truly “web-oriented” Web services), RESTful design approaches, including AtomPub, look increasingly like a better fit.

Recently, Burton Group Analyst Kurt Cagle volunteered to lead an HR-XML webinar to explore the topic of REST and AtomPub as alternatives to the WS-* stack. However, what we wound up with was quite a bit more than just a webinar. The results are more like a short-course (but no, you can’t get any credit hours ;-> ). Curt’s slide deck is here. The session has been divided into four parts which you can listen to below or download. Many thanks to Kurt for lending so much of his time and expertise.

Exploring REST and AtomPub as WS-* Stack Alternatives Pt 1

[ download .mp3 file ]

Exploring REST and AtomPub as WS-* Stack Alternatives Pt 2

[ download .mp3 file ]

Exploring REST and AtomPub as WS-* Stack Alternatives Pt 3

[ download .mp3 file ]

Exploring REST and AtomPub as WS-* Stack Alternatives Pt 4

[ download .mp3 file ]

Video

The four sessions also have been posted on Google video.

Tagged