Showing posts with label Java. Show all posts
Showing posts with label Java. Show all posts

Friday, July 19, 2024

An Update to the Partnership Accounting Module

 This is an update to the Partnership Accounting modules AFE section. It deals with the generation of AFE numbers, and other numbers such as Vouchers, Leases, Work Orders etc are developed through use of the Java Programming Language developments designated as Data Oriented Programming or DOP. 

The AFE

One area we have not discussed in detail are the processes around the Authority for Expenditure or AFE. I will break the AFE discussion down into two parts. One is here in the Partnership Accounting module. The other can be found in the Research & Capabilities and Knowledge & Learning modules. What we’ll discuss are the Partnership Accounting aspects of the document. Later, we’ll examine the “capabilities deployment” elements in the other modules. 

As with any interface in the Preliminary Specification users will have the opportunity to right click on an item and pull up a contextual menu item called “Create an AFE.” The system will have intelligence and be able to generate elements of an AFE template with the information that a user right clicks upon. For this scenario, let's assume that a user clicks on an image of a well. The system will then populate the new AFE template with the information for that well type and the partners in that Joint Operating Committee. Suggestions were made that another lateral and frac job be done to increase shale gas production through the well bore. And the user populates the AFE with the appropriate account codes to account for the budgeted costs of those operations. (Note: Due to the extensive work done during development of the Preliminary Specification it should be anticipated that the industry would have access to a global chart of accounts.) Budgeted costs were worked out with a number of vendors that users were working with who have developed some enhancements to the re-entry and fracing of multi-lateral wells. Producers consider these innovations significant, and the costs make them potentially valuable additions to well profiles. 

To present the AFE to partners, users have asked them to join others in the “Marketplace Interface” at the vendor's facility to view a presentation of their enhanced tool. All confirmed attendance. At the end of the presentation users who are authorized members of the Joint Operating Committee digitally sign the AFE. This releases the document to the other partners. (All with data elements consistent with their data naming conventions. Global AFE #’s, account #’s, etc.) Cost estimates and timeframes that this can be done for the one well, the poorest performer in the facility. Users also submit engineering and geological analyses of why they think the formation will perform well for the proposed work. 

Within the AFE document itself there is a collaborative interface for partners to discuss issues and opportunities related to the document. During the month this discussion focused on how the existing lateral could be protected from damage during the drilling and fracing of the second lateral. Several partners expressed concern that the program did not do enough to ensure no damage occurred so a supplemental was raised. After the supplemental there seemed to be consensus among the Joint Operating Committee members that the risk was worth the effort. All participants digitally sign the AFE. 

As part of the collaboration, the producer firm determines who is available to participate. A team is set up to manage the engineering and geological aspects of the program. These people's time on this project can now be charged through the Work Order system with the appropriate Work Orders created. The account codes for vendors for that AFE will be able to accept charges. Cost overruns were not expected as an arrangement with the vendor for a fixed price was agreed. 

This is a scenario of how the firm will raise an AFE and have the members of a Joint Operating Committee approve / disapprove of / discuss it. Within producer firms there would be automated routing of the document to the various internal departments for approval. This could be done simultaneously as multiple people can read, process and approve one electronic document at the same time. Therefore accounting, production and exploration could each approve the AFE on the same day, eliminating the time-consuming paper shuffling that normally occurs. Even within each department the various people who need to see and sign off on the information can do so.

This document routing will be conducted at each producer participating in the Joint Operating Committee. Each partner has access to the AFE documents collaborative interface. This discussion is available to those who may have questions in the future as to why decisions were made and for what reason.

To clarify some of the similarities and differences between the AFE and Work Order in the Partnership Accounting module of the Preliminary Specification. And to point out a significant difference in the People, Ideas & Objects systems documents which differ from those ERP systems that operate in oil & gas today. 

Another aspect of how both the Work Order and AFE are unique in the People, Ideas & Objects system compared to other systems today is the manner in which documents are stored. Everyone has experienced the difficulties that multiple copies of files edited by different people create. A disappointing and troubling problem with electronic files that would be a disaster for documents. No one can have different electronic versions of a document. Therefore there can only be one copy of the document used by everyone. (Exclusions for backup etc.) However, since it's digital, multiple people can use the same document at the same time, as long as everyone is presented with the same, most current version.

The most effective example of a system that uses this exact manner of file management is Google Docs. Users have access to a list of files in which they grant access to and can edit the same file. Other users in Google Docs can be seen editing the file in real time. Any conflicts in editing those files are resolved by users while reviewing. The file remains as one complete edited file presented to each user at all times. With a history of prior versions available for review. There is no need for someone to take edits from many files and put them into one file as is the case with Microsoft Word or Excel. 

Instead of files People, Ideas & Objects will present users with documents like AFE’s and Accounting Vouchers that they have authorized access to. They and others will be able to view, edit and delete based on their authorization level and be assured that only those documents exist. No other more or less advanced copies are being worked on elsewhere. The amount of time and energy saved by knowing just one document exists is satisfying and highly productive. 

We have discussed many times that the People, Ideas & Objects application modules are moving the compliance and governance frameworks of the hierarchy into alignment with the legal, financial, operational decision making, cultural, communication, innovation and strategic frameworks of the Joint Operating Committee. By doing so we recognize and adopt the industry culture in its many forms. The change we are implementing is the removal of bureaucracy. When it comes to the AFE process there is little in the current process used by companies that is not representative of the industry culture. It is optimal that People, Ideas & Objects and our user communities capture that culture in these software developments when developing the AFE process.

One area that we will enhance the AFE process is through the elimination of the "Operator" designation. People, Ideas & Objects operates on the concept of pooling the resources of the partnership represented on the Joint Operating Committee. This is done to help mitigate technical resource shortfalls, particularly in earth science & engineering disciplines. As a result of this pooling an AFE will be available to any participant in a Joint Operating Committee to post charges. Those charges could be for their staff who are working on the project or for costs they incurred on behalf of the project. 

With each producer potentially contributing unequal shares to the joint account or AFE during a month, or over the course of an AFE’s term. They can either over- or under-commit their participation. Therefore monthly equalization will need to be a necessary part of the reconciliation of the AFE accounts. For example, if one of the partners pays for the drilling day rate, and their working interest share is only fifteen percent, they would have paid in excess of fifteen percent of the budgeted AFE. In a case such as this, the producer would be compensated to the point where their contribution does not exceed the approved total amount of their obligation.

All of this is consistent with the industry culture today. What we propose is aligning this culture within the Joint Operating Committee and its other eight frameworks. With the Joint Operating Committee being the key Organizational Construct there are six other Organizational Constructs that bring other cultural elements in as supporting institutions. We are not resisting this well ingrained highly functioning “inertia” as Professor Langlois calls it in his paper with Paul L. Robertson, Institutions, Inertia and Changing Industrial Leadership. (Please note all subsequent references in this module are to this paper.)

Inertia is the focus of this paper. As is explained in more detail below, inertia has two major functions in the cycle of punctuated equilibrium. Inertia results from, and in a sense embodies, the best feature of the stable phase of the cycle because it is based on the learning process in which producers determine which procedures are most efficient and effective. Once people are satisfied that they know how to do things well, they have very little incentive to look for or adopt new methods. In the words of Tushman and Romanelli (1985, pp. 197, 205), "those same social and structural factors which are associated with effective performance are also the foundations of organizational inertia..., success sows the seeds of extraordinary resistance to fundamental change." Inertia also provides the tension, however, that leads to the (relatively) short, sharp shock of the revolutionary period (Gould, 1983, p. 153) because the pressure required to displace a successful but inert system is considerable and takes time to accumulate. When there is little inertia, change can be assimilated in a gradual and orderly fashion, but an entrenched system may need to be vigorously displaced. p. 3.

I began with a discussion of the industry culture and how the inertia of the industries' routines and capabilities made for formidable obstacles to progress. Thankfully we are not focusing on changing cultural inertia in the oil & gas industry. We are trying to disintermediate the bureaucracies and change the systems to recognize the culture, routines, capabilities and inertia of the Joint Operating Committee. Making it a central part of all that is done in the industry. With a focus on bringing accounting and administration into the fold. This does however require the retirement of bureaucracy. 

And institutional change, we argue, can often take place through the more or less slow dying out of obsolete institutions in a population and their replacement by better-adapted institutions - rather than by the conscious adaptation of existing institutions in the face of change. p. 6.

The bureaucracy does not sustain its own inertia. It is a forced or contrived existence that serves a few within the organization. These needs can be taken care of by the Joint Operating Committee. I’m thinking of the command and control, budget and finance functions. What we have said we are doing with the Preliminary Specification is moving to the natural and cultural form of organization of the oil & gas industry, the Joint Operating Committee. Making the transition from the bureaucracy's forced means to the Joint Operating Committee's more natural way will not be a problem. Until...  

Another aspect of capabilities that has recently received a great deal of attention is organizational culture. In practice, not all organizations may be equally able to cope with change, as existing patterns of behavior involving both executives and subordinates may be resistant to change. Organizations develop collective habits or ways of thinking that can only be altered gradually. To the extent that a given culture is either flexible or consistent with a proposed change in product or process technology, the transition to the new regime will be relatively easy. If, however, the culture is incompatible with the needs posed by the change and is inflexible, the viability of the change will be threatened (Robertson, 1990; Langlois 1991; Camerer and Vepsalainen, 1988). p. 9.

And the proposition that this transition will occur has been threatened by the bureaucracy. They hold the budget and have exercised it by not providing funding towards People, Ideas & Objects. In this regard, the bureaucracy is self-serving and looks after its own interests. The abandonment of the industry's future is now evident in these actions. The responsibility for all damages and destruction falls to the officers and directors. What will the situation be like in five or ten years? Will their methods continue? What will they do now when it is clear they’ve failed? 

Teece neglects the negative side of Nelson and Winters analysis, however, and fails to note that the inflexibility, or inertia, induced by routines and the capabilities that they generate can raise to prohibitive levels the cost of adopting a new technology or entering new fields. Such inertia can develop to the extent that existing rules are both hard to discard and inconsistent with types of change that might otherwise be profitable. p. 10.

McKinsey Consulting suggests that large populations will join the middle class in 20 years. This will have a dramatic effect on the levels of energy consumption. If the oil & gas industry fails to respond to these demands due to bureaucracies' lethargic ways, will anyone note the Preliminary Specification was proposed?

Whereas major competence enhancing innovations may, in time, be assimilated, the creation of entirely new organizations may be needed to deal with innovations that undermine the capabilities or competencies of existing firms. p. 11.

Enhancements Through Data Oriented Programming

Recent technological advancements in the Java Programming Language, defined as Data Oriented Programming, have introduced new capabilities to People, Ideas & Objects, particularly in creating an AFE (Authorization for Expenditure) number. Traditionally, AFE numbers were serially assigned to meet unique requirements and fulfill database primary key demands. This method provided no intuitive understanding of the AFE's purpose; users had to pull the document to discern its details. 

What if the AFE number could inherently imply its purpose and provide intuitive understanding? For example, a prefix letter such as D, C, or E could denote Drilling, Completion, or Equipping, respectively. This could be followed by 24, representing the year it was raised, another letter designating the geographical region, one more for the targeted formation, and finally, a three-digit serial number. This system would allow users to sort through work based on various criteria, providing intuitive AFE numbers to members within the Joint Operating Committee.

This example highlights a potential enhancement, but our user community will be responsible for expanding the concept for AFE numbers, as well as Voucher numbering, Lease Identification, and other naming conventions within the Preliminary Specification. Implementing this has been challenging and previously considered taboo in systems development. However, Data Oriented Programming now enables us to make these changes. 

As database developers, we use Oracle Autonomous Database, deferring system processing and management to the database. However, generating field attributes in the way we propose has not been possible outside of multi-column primary keys, which often lose their intended purpose in translation.

Data Oriented Programming in the Java Programming Language aligns perfectly with our focus as database developers. Using Oracle Cloud Infrastructure and Oracle Fusion Applications, predominantly written in Java with ample use of SQL and PL/SQL, these features offer significant benefits. They facilitate creating the type of data we discuss here and allow us to manage AFE numbers as primary keys effectively. More details on these features are available in the following pages.

Postscript, applying this to the chart of accounts will also apply. Prefixing the account number with A, L, S, R, E, breaking the account number from there and imply further meaning from their.

Revenue Update

During my time off, I realized that my previous approach to imposing deadlines for raising the first year's budget was flawed in several ways. Firstly, treating it as a traditional fundraising effort, akin to raising debt or equity, was inappropriate since the Profitable Production Rights represent People, Ideas & Objects' revenue stream. Secondly, as with any firm's revenue stream, there should be no time limit or closing date imposed on participation. I had mistakenly attached undue significance to securing those funds, equating it with the potential failure of the organization. This perspective is neither predictive nor anticipated, especially at this advanced stage of addressing the issues in the oil and gas industry.

What People, Ideas & Objects needs to do with our Profitable Production Rights is transition to a commercial, successful operation, moving away from the project status. Most importantly, we need to leave behind the outdated thinking that limited our approach. This shift in mindset will better align with the realities of our business model and the industry's needs.

Wednesday, September 17, 2014

Who Will Work Within the User Community

Its true that not everyone will qualify to work within the user community. This applies to both the leadership team as well as the general community. We will be looking for certain individuals that are unique in their skills and understanding of the oil and gas industry. That is a given. And the diversity of those skills will make up the entire scope of the oil and gas industries administrative and accounting needs. It is these skills and understanding that are the primary concern that need to be addressed in the work that is done by the user community. The ability to analytically breakdown the processes and design new effective ones that are consistent with the Preliminary Specification is not something that will be easily done. That is why we have costed this work in our budget at the $195.00 / hour rate for the user communities participants. We are looking for people of that calibre.

As I noted the primary concern is that the user community participant be trained and experienced in the disciplines that fall within the administrative and accounting areas of oil and gas. However, we expect that there will be a strong element of Information Technology aptitude that will be inherent in their skill set. Particularly in the two areas we have mentioned before of relational databases and Java. Having a good working knowledge of these technologies, on top of your current skills, will make the design and development of the software, which will be your job after all in the user community, that much easier and better. The importance of this IT aptitude will make a significant difference in the quality of the People, Ideas & Objects Preliminary Specification in many different ways.

First it will permit you to better understand the issues and opportunities that the technology provides. What is possible to you as a result of the Oracle database, its deployment in a cloud computing environment and Java from a conceptual level offer interesting new perspectives and dimensions in ERP software. To add these to your tool kit and be able to employ them, either to use them as a service provider, or to ensure that the producers who use them are provided with the most dynamic, innovative and profitable means of oil and gas operations, should be of concern to all within the community.

Secondly your ability to communicate with the People, Ideas & Objects developers in their primary skill set will be necessary to enhance the communications between yourself and them. It is easier for you to understand the elements of these concepts in relational theory and Java then it is for them to comprehend the full understanding of the oil and gas industry which is represented in the entire user community. Therefore to enhance the communications between the developers and the user community it is by far the easiest for the user community to speak the language of the developers. As there is no way in which the developers are ever going to understand fully the scope and scale of the oil and gas industry which is contained in the entire user community.

This understanding of the technology may take three or four university level courses in order to acquire the type of understanding that I think is necessary. Thankfully we are not looking to start this type of development work until we are funded by industry in January 2017. Which provides ample time for you to acquire that knowledge if you should choose to do so. Think of it as an investment in order to earn those handsome hourly rates. The thing about providing the oil and gas producers with the most dynamic, innovative and profitable means of oil and gas operations. Is that you are able to prove substantial value propositions such as what we have. And therefore, as a result everyone benefits monetarily.

The Preliminary Specification and user community provides the oil and gas producer with the most dynamic, innovative and profitable means of oil and gas operations. People, Ideas & Objects Revenue Model specifies the means in which investors can participate in these user defined software developments. Users are welcome to join me here. Together we can begin to meet the future demands for energy. And don't forget to join our network on Twitter @piobiz anyone can contact me at 403-200-2302 or email here

Friday, August 22, 2014

Our App Marketplace

We now want to take some time to document the “apps marketplace” that we recently announced. What is the apps marketplace and why are we establishing this for the innovative and profitable oil and gas producer? Like the service providers, the developers within the app marketplace are providing services on a fee for service basis. Selling their applications to users and producers based on their needs. People, Ideas & Objects are expecting that the mobile applications that are needed will be provided by the app marketplace developers. That People, Ideas & Objects will be providing the infrastructure, process management, software development capability, the Preliminary Specification to solve the large issues of the industry. Such as the decentralized production model and the material balance report. While the app marketplace fills in the needs of the users and producers with the types of applications that are unique and innovative on the mobile platforms.

This division of labor between the mobile marketplace and the areas provided by People, Ideas & Objects give the innovative and profitable oil and gas producer the types of applications that they need. The app marketplace will be dynamic and entrepreneurial with only a license, Application Programming Interface (API) and data model provided by People, Ideas & Objects. These app marketplace developers will be driven by the issues and opportunities that they see in the oil and gas producer marketplace. Having their own revenue stream, they will be able to sell their products into the user marketplace that may total the full 12 million oil and gas professionals and several hundred producers.

Mobile computing is becoming more mainstream as we proceed through these Information Technology changes. It may be difficult to place something as complex as the Material Balance Report on a tablet device. Possibly we could provide it on a read only configuration. It is difficult to say at this point. Nonetheless these issues will be left to the user community to determine. The point that I am trying to make is that although we have left the mobile marketplace to the “app marketplace,” that does not preclude People, Ideas & Objects in providing our applications, reports, processes and functionality in a mobile configuration. What I see as the division of labor is the heavy industrial processing vs the lightweight processing of the purely mobile application providers.

Years ago we published a technical vision consisting of four cornerstone technologies. It still resides in this blogs history however it is not on the wiki. The four technologies that make up the technical vision are Java, what we call Asynchronous Process Management, IPv6 and Wireless. These technologies operate together to change the dynamic in any industry toward a new and more pronounced Information Technology infrastructure in the cloud computing era. They operate on the following basis. Java is a highly “typed” language. That means it is able to discern the differences in many objects. IPv6 is the next generation Internet addressing scheme. Capable of providing Internet addressing for anything and everything that we can think of. Or providing Internet access for a variety of different objects. Wireless Internet access providing the mobility aspect of the technical vision. And Asynchronous Process Management being our term for the ability to break up a process and approach its processing from different perspectives or priorities.

This technical vision fits in with the app marketplace and provides the mobile app marketplace with the ability to grow to its appropriate size and configuration. If we constrained mobile by keeping it within the People, Ideas & Objects domain our focus would otherwise be diverted by these mobile demands of our user community, or alternatively we would miss out providing this important dimension to the producer and user marketplace. By providing a division of labor through establishing the app marketplace we can have the best of both worlds for the users and producer firms.

The Preliminary Specification and user community provides the oil and gas producer with the most profitable means of oil and gas operations. People, Ideas & Objects Revenue Model specifies the means in which investors can participate in these user defined software developments. Users are welcome to join me here. Together we can begin to meet the future demands for energy. And don't forget to join our network on Twitter @piobiz anyone can contact me at 403-200-2302 or email here

Monday, August 16, 2010

Oracle vs. Google

Oracle has taken steps to litigate Google’s use of Java on the Android operating system; claiming Google’s use of Java requires payment for the technology. Oracle’s lawsuit seeks to establish that Google’s use violates its patent and copyright. One thing that can be stated about Oracle’s acquisition of Sun Microsystems, is that the adults are now running the show.

Working with Sun Microsystems was frustrating on many different levels. One of the frustrations is there never seemed to be any follow through from the business point of view. They may have built the most advanced technologies, but left the major issues of the business and marketing to chance. Letting the altruistic “community” or “open source” world develop the business.

This statement may appear in contrast to the dedication and commitment of People, Ideas & Objects to its communities. To that I would make the following points. When it comes to open systems, “free” does not mean for nothing. Free or open source systems leave the overall leadership or guidance of the product in the hands of the community. That the community is free to discover the correct direction for the product. People, Ideas & Objects has put the product direction in the hands of the user, producer and Community of Independent Service Providers. The business of how our communities will survive in the long term follows a similar strategy to what Oracle is employing.

In Sun’s “altruistic” management of their communities they left the business aspects of their technologies to find their own way. The community needs to be supported financially. Without the financial resources, there is no sustainable viable long-term community that will survive. Leaving the communities financial resources to the whims of whether Google would pay or not is foolhardy. Now that Oracle is monetizing these Intellectual Property assets, the Java community will prosper.

With that stated, it is important to note that People, Ideas & Objects have budgeted for all of Oracle licenses, including Java. These are being paid on behalf of our users, producers and Community of Independent Service Providers. At no time will users or producers be expected to pay Oracle directly, or be subject to any Oracle litigation with respect to their use of the underlying Java or Oracle technologies used in People, Ideas & Objects software applications.

Technorati Tags:

Thursday, March 26, 2009

The rise of virtual service grids.

I found this article on the dzone.com web log, click on the title of this entry to be taken to the article. It is a reprint or summary of a book about Service Oriented Architectures (SOA). It has an interesting point of view regarding the changes that are occurring due to what they call the "virtual service grid technology". The conclusion states;

The changes brought by virtual service grid technology will likely transform the information industry in ways that are difficult to fathom from our present day vantage point. We are essentially at an inflection point defined by two forces: the transition from an up front investment model for IT requiring large capital outlays to a pay-as-you-go model. Market elasticity dictates that when price points go down, demand increases, partly due to pent-up needs, but perhaps more so because new entrants enter the field who could not afford to play before. This means increasing participation by the members of the "long tail" of cloud computing: small businesses, emerging markets and even individuals coming up with a great idea.

Second, the acceleration of the time it takes to build an application by orders of magnitude means the evolutionary process gets accelerated by the same rate. The evolutionary refinement of hundreds of generations taking place in the same time it took to develop a traditional application is mind boggling. (See also 1 , 2)
I try to stay away from getting too involved in the technical attributes of People, Ideas & Objects. Other then the Technical Vision, I prefer to stick to the business reasons to be developing the applications modules.

I also maintain that the future earnings of anyone working will be generated through the ownership or access to Intellectual Property (IP). The entirety of the IP of People, Ideas & Objects is available to the Community of Independent Service Providers through a license. Those that will be successful in the Community of Independent Service Providers will be able to use the IP in combination with their unique service offering. Providing a hybrid styled source of revenue for their firm.

The second point in this articles conclusion is something that has not yet been proven, but will be soon. Standing on the shoulders of giants has been a term in academia that reflects the ideas are built on the history of many ideas up to that point. The same concept is about to be realized with respect to the ability to build off of the extensive infrastructure of the Java Programming Environment. Many of the difficult and complex attributes of systems development have been standardized and developed.

With reasonable royalty payments to Sun for the use of Java, a development project with the scope of People, Ideas & Objects accesses many of the components that will make the majority of the process management and functionality from Sun's various software products. With out being too specific this substantially eliminates the time necessary to develop systems. Today the real key to the quality of these systems is the end users involvement. Please join me here.

technorati tags:

Friday, August 01, 2008

Filthy Rich Clients

Sun Microsystems have released the "Preview SDK of JavaFX". This is Sun's response to the various development frameworks involved in web based user interfaces. Microsoft's Silverlight, Adobe Flash, and other rich media application frameworks. These frameworks are able to provide what is expected by users when they demand Rich Internet Applications. The best video on the site is SunEVP Rich Green demoing many of the capabilities of this addition to the Java language. (No Link)

JavaFX provides audio, video, 2D and 3D rendering on the Java Virtual Machine (JVM). JavaFX provides developers, designers and users with the ability to have the most visually rich interfaces to their applications. In my opinion this is one of the most important developments to the Java language. That is for a variety of reasons but for users of oil and gas ERP styled systems such as People, Ideas & Objects, rich media is critically important.

Just as no one would provide a green screen textual interface to a user today. The time has come for users to demand much more from their systems interface. More information about the actions that are happening of the users interest. What do I mean? Providing subtle hints in audio, visual and textual clues that certain actions are starting, running or completing. Maybe a user is in the Analytic & Statistics Module and wants to know when a complex algorithm is finished. The information is of critical importance to some urgent work been done by the user for an oil and gas producer. But the user also has over 50 other tasks that are overdue for other producers. The system should provide a subtle, but definitive, indication of when the users attention is required over the noise of the other 50 tasks.

Defining the need for this type of interface in the People, Ideas & Objects application modules is difficult to articulate. What I expect to see through the development of these systems is an iterative increase in the productivity of the oil and gas user. Quantum increases over the performance of today. If man can develop their mechanical leverage of one barrel of oil to offset the labor equivalent of 18,000 man hours. We should be able to achieve similar leverage metrics from an intellectual point of view. As much as computers have enabled our lives and increased the productivity of workers, I am certain that I would have concurrence that we have not attained anywhere close to the 18,000 fold increase in leverage that we should expect from computers.

JavaFX is an important component in implementing the systems interface to the level of these expectations.

Technorati Tags:

Thursday, December 06, 2007

YouTube video on Object Capabilities

An report update on the development of the Security & Access Module being developed for People, Ideas & Objects. Of particular note I want to highlight the work of Berkeley Professor David Wagner in the above noted video. (Click on the title for the YouTube video). At one point he indicates that he is very interested in securing alpha users for his research and use of "Joe-e" programming language. I will be emailing him soon and offering this module's development for consideration as an alpha-user of his research.

The Joe-e programming language is an offshoot of the Java Programming Language, just as JavaFX and Groovy are. It incorporates a higher level of "Type Safety" as no "global" or "static" variables are permitted; it is single thread safe and has a number of other enhancements that make it ideal for the development of "Object Capabilities". What are "Object Capabilities" Professor Wagner points to two excellent papers that describe in detail the concepts. I will be reviewing these as both research and development of the module.

Mark Miller "Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control." Johns Hopkins University 2005
and
Jonathon Rees "A security kernel based on the Lambda Calculus" MIT 1995
It will be worthwhile to look at the tie-in that we can make to Professor Carliss Baldwin's work on transactions. Recall the matrix's she introduced in defining the scope of transactions. And how "Vouchers" were how I would implement these elements of the transaction. Object Capability would define the access and concurrency of the interactions between users within that voucher as well.

In the process of this development it has become necessary to define the level of virtualization that is possible and needed for the operations of this application. Virtualization on Solaris provides the ability to have an instance of the OS and associated technology stack operate for one specific user-defined unit. The size of the unit could be the entire application, or I could define the virtualization level that would have each person, company and JOC have a virtualized OS and associated technology stack for each of those units. I would do the latter if it provided an enhanced level of security, and this will be determined through the research of this module.

What I hope to be able to do with Professor Wagner is to define the manner in which we layer the Military Command & Control structure of the Compliance & Governance Module over the Assets, People, Geography, JOC's, Companies, Disciplines etc. Much in the same way that the Military denotes in the "Sgt. 1st Class, Rick Emert, 1st ACB, 1st Cavalry Division, PAO". This definition is necessary for the application and the industry to function. The value and need of the end users to define these elements will be incalculable.

Lastly IPv6 is one of the cornerstones of the Technical Vision that I have put forward for this project. I want to review the impact of that technology on the policies and technologies mentioned in this post. Also, the level of encryption available in the Java Programming Language provides very high security. The cryptography available is well documented here.

Technorati Tags: , , , ,

Sunday, September 16, 2007

Security Module.

I last wrote about the Security Module in October 2006. Now that we have established the general framework, or the infrastructure of the system, and indeed I have begun building the parts into a usable system, I now want to formally start the software development. As I noted in the October 2006 posting the security module would be the first item of development, therefore, I can now declare on Tuesday September 18, 2007 that we are indeed in development.

A few of the bits that we will be using as our infrastructure are Google Apps for People, Ideas and Objects, and Java Web Start and Java Swing. So lets start with that and build from there.

Google Apps for People, Ideas & Objects.

www.people-ideas-objects.com is the domain (and company name) that has been selected for this project. This is now operational on Google Apps and I am very pleased with the fit and finish. Key to their offering is the ability to integrate a Single Sign On (SSO) for the entire domain. Once the user is logged in through Google apps they will have access to the collaborative environment and application specific functionality. Recently Google announced the closing of their acquisition, Postini. Google will now offer a level of security that is in my opinion second to none.

With Postini Solutions, you can secure all of your electronic communications - email, instant messaging and the web – and manage your company's communication policies from one central location. Postini Solutions can also make it easy to meet your archiving and encryption needs.

Best of all, it's all 100% hosted, so there's no hardware or software to install or maintain. Whether you're looking to transition from or enhance your existing messaging infrastructure for better control, Postini enables you to provide employees the tools they need to be productive while reducing the cost and complexity of managing those tools.
I can now say unequivocally People, Ideas & Objects has the most secure communications of all ERP systems. ;-) To my way of thinking, lets up the standard to a higher level.

As I noted in the security module definition last October, Sun's new Solaris Z File System (ZFS) and elliptical encryption would be used for all of the data and information on the server side of the system. ZFS provides a level of journal-ling that will add real value to the users of this system. Apple have integrated Sun's ZFS in their next operating system (Leopard) release. Sold as the "time machine" feature, it enables a user to look at the various iterations of the file from the beginning to the most current version. The user will then have tools that will enable them to select the best version of the file. Secondly ZFS is 128 bit, just as IPv6, allowing for an unlimited addressing capability.

These points will be the first elements that will be developed. Google Apps for People, Ideas & Objects will be upgraded with the Postini functionality, and the Solaris based server side will implement ZFS and Sun's elliptical encryption as base for all operations from the Operating Systems, Java, Network, Database and File.

Java Web Start and Java Swing

Integration of Single Sign On (SSO) between Google Apps and the server side will provide the secure collaboration environment and the secure "Cloud" based operations. This will all be wrapped in a package that the user will be able to access anywhere and anytime with any capable computer. For the initial downloading, Java Web Start, Swing and other components of the People, Ideas & Objects application will be a minor issue with the bandwidth that is available today. The "environment" this creates is one that meets the highest level of security for any and all programming environments. Java was selected for its adherence to strong typing and inherent security model. No other programming environment comes with this standard of security. Even Microsoft's .net environment cautions the user about the inherently weak security model.

Java DB

Embedded within Java Web Start and Java Swing client environment is Java DB, a relational database with a small footprint. Originally developed by IBM it was open sourced and made the default client side database for use in Java environments. This database will hold the environment and other variables of each user, and much of the client specific data the user has used, cached, collaborated or searched from their user account. Recall that we have selected the Ingress Database for the "Clouds" database. All the data from the Java DB will be replicated with the Ingress database. Additional search facilities of the server side or "cloud" environment have not been resolved at this time. Recall I was looking into the use of Enterprise Search and security firms to assist in this area.

This area is complex and daunting, however, the need for bullet proof systems in terms of reliability and security are necessary for the enterprise. Particularly in the manner and method that they are being used here. Much of this architecture has not been implemented in any industry. Lastly I would point out that if a user were to access their system on a public terminal or a machine in which they have only temporary use of, the application and data would be inaccessible to any prying eyes after the user had left. With encryption and Java, the systems variables would be persistent only in encrypted form.

IPv6

Recall we have instituted the IPv6 protocol as part of the Technical Vision for all Internet communications for People, Ideas & Objects. IPv6 is available to us through our ability to secure a Tier 1 vendor of bandwidth. Almost all computers are capable of handling the protocol. The security model of IPv6 adds elements of security at the protocol level and includes these technologies.

Specification

These specifications will be encapsulated into one Web Service where the user, upon authorization and integration into the system, will have seamless access to their information. The reason this is the first module being built is that everything will need to be built upon it. To retrofit this level of security to a current application would be more problematic and costly then it would be worth. I am pleased that I can specify this level of security at relatively little cost. (A reflection of how systems have developed in the past few years.)

The primary issue of what needs to be resolved is the restrictions on use of high-level encryption systems in countries that are unable to access and use the high level encryption algorithms. The work around may involve limiting the users to the countries that are authorized to use these types of systems. Our focus being Calgary, Texas and Aberdeen Scotland, limited issues with the systems use outside of these three countries will limit the risk of using these algorithms.

Thankfully much of today's technological development environment closely replicates Leggo, define it, get the parts and build it. Where we go after the security specification will be to adopt the data model from the Public Petroleum Data Model (PPDM), tune it and test it, and from there we can start building the Petroleum Lease Marketplace functionality.

Technorati Tags: , , ,

Wednesday, May 30, 2007

Adam Smith meets SMP

The title of this post will take you to an article that provides an interesting perspective on some of the actions that are occurring in the technology field. As I have discussed before, one of the theories that Adam Smith was responsible for was Division of Labor. Back in the 1700's Smith proved through re-organization of a pin factory that dividing the tasks amongst the employees produced significant externalities. (240 fold increase.) These externalities are the benefits associated with all economic growth. If you have economic growth it is fair to assume that someone has made an effective and further division of labor. Externalities are the benefits that produce financial returns above and beyond their costs. This theory of course has been proven many times.

The author of this article argues that the development of multi-core processors or Symmetric Multi-Processors is the further division of labor that will bring about externalities for future economic growth. Duh, well of course, but why didn't I think of that? Intel is currently selling quad-core multiprocessors. Sun Microsystem are shipping 32 core processors and are believed to be in the area of 128 core processors in their next chip. Intel claims to be able to provide future iterations that have a logarithmic volume of cores and hence performance.

The other piece of technology that makes Adam Smith so relevant today is part of the Technical Vision that I have developed here. That technology is Asynchronous Process Management or APM and it is a critical (for me) technology of the Java Programming Environment. Recall that processes are either synchronous, like a conversation or telephone call, or asynchronous like an email or letter. Asynchronous processes provide the user with the opportunity to consider their response at a time and a place that is optimal in terms of convenience and availability. To put a half completed Asynchronous process in a restful state, until such time as the user has responded is something that is inherently part of Java. For an oil and gas user think of the joint venture billing process as it travels through the various companies affected. How much of this processing can be asynchronous, and how much of the operational time of the joint venture billing process can be reduced? 90 days?

These technologies in the hands of the right developers will enable the producer to increase the division of labor. And as mentioned, have the operational time reduced in doing so. And receive the externalities that Adam Smith discovered at the pin factory. The producer's being the net benefactors of this division of labor and the user's being highly productive with minimal interruptions.

Technorati Tags: , , , ,

Wednesday, May 23, 2007

JavaFX is a go!

Sun Microsystems has announced a new scripting language, JavaFX. Designed to work with Swing, Java's GUI toolkit, JavaFX gives the developer many of the attributes of the current trend to asynchronous page loading and graphics. This trend started off on the wrong foot and has become a nightmare of coding hell. AJAX was the first, Asynchronous Java Script with XML is a dynamic hodge podge of technologies that unleashes the power of coding into any wrong direction it can find. Next was Adobe Flex, then Microsoft SilverLight and they all offer the ability to write anything on the web and the desktop of the user. Very dangerous as the access to the desktop and web provides the developer with the ability to do just about anything malicious that they can dream up. I have cautioned about the use of these products before and they certainly should never be used in a corporate setting. JavaFX is different in that it maintains the security model of Java and is unable to access the local machine. This is the primary reason that there are no associated virus' or related garbage brought to the user through their use of Java.

JavaFX takes another step above the competition in that it is statically typed, not dynamic. Dynamic languages are the easy to implement and are the Swiss army knife of programming. Perl, Python and PHP are all good languages that aid the developer in many of the tasks and routines necessary for their productivity. Few would recommend the use of these languages in an enterprise setting, and that relates to the languages inability to scale to size. JavaFX being statically typed enforces a rigid framework or constraint on the developer that aids in the codes ability to scale.

Other benefits of JavaFX is it applies across the development implementations of J2ME, J2SE and J2EE, Sun's mobile, standard and enterprise editions of Java. Enabling the use of JavaFX in mobile phones and other devices that are proliferating and making the oil and gas worker more productive. This will also aid in the deployment of the many sensors and control devices. I suspect technologies will proliferate under the new Internet protocol IPv6. The prolific use of GPS in vehicles and Google maps could be used to determine who is where. Lastly this years JavaOne conference highlighted the use of the language in the area of robotics. JavaFX also provides access to this developing area of technology.

Therefore, Groovy, the previously proposed scripting language is out. I thought that Groovy would be worthwhile tool to have as a scripting language in the developers toolbox for work being done on this project. Groovy is a dynamically typed language that enabled the Groovy developer to use the same Java classes. The only issue that I had was that it was a dynamically typed language and therefore I stated that in the design specification for this project, it would be inappropriate to have any Groovy code in the final commercial versions.

Technorati Tags: , , , ,

Sunday, May 13, 2007

Modularity on Google Video

"Aspect Oriented Programming: Radical Research in Modularity."

Gregor Kiczales, Professor of Computer Science at the University of British Columbia.

Professor Kiczales does an excellent job in making this presentation (click on the title of this entry for the video). He hints at his past experience throughout the video, and this experience includes leading the Aspect Oriented Programming (AOP) development at Xerox PARC. This is a highly technical video of aspect oriented programming in Java. This is a key technology for this system's developments, and if you have a desire to learn these topics (recommended) this is a good video.

Much of object oriented programming is defining the objects or classes that interact with each other. The net result is an overall hierarchy of your code. In order to invoke one class from one area of the code to the other may be difficult due to the recognition of the hierarchy. (Casting up the hierarchy, over, and then down to the class that you want.) Aspects maintain this hierarchy but allow the developer to "crosscut' the hierarchical structure as if it were modular.

One of the key components of Java is the ability to use different aspects. How these different aspects are implemented in oil and gas is very common in a design such as we have proposed in this system. Not to get into too many of the components of Java code, I want to point out that this video is entitled "Radical Research in Modularity". A key aspect of the system as designed with the research that we have done with Professor Richard Langlois and applied here. Professor Kiczales makes the following points that are critical to the understanding, purpose and value of aspects in programming. This discussion begins around the 50 minute mark (50:10) and carries on to the end.
"Modularity has a cost, the cost being sometimes you get an indirection, and its only worth paying this cost if you get something back. What your getting back here is a couple of things. One thing is;"
The Raw Benefit of Modularity, which is in some sense, I could ship point (cut) without display update."
"Second an ability to reason about the structure now, and this is provided by aspect orientation."
And then later on, at (55:25) Professor Kiczales says
"What can I modularize now, that I couldn't modularize before."
The last point that I wanted to make was Professor Kiczales did point to a text of "Baldwin and Clark" that we were prompted to review by Professor Langlois. Kiczales also has some very good papers that are available on his website if readers wanted to follow through on this topic. Hopefully reviewing this video and a little research in the area of aspect and object oriented programming will begin to reflect on the value of the modularity being discussed on this blog and elsewhere.

Technorati Tags: , , , , ,