Frequently Asked Questions

The following are some of the questions developers often ask (FAQs) about Live API Creator.

How does Live API Creator compare to a design-first approach?

Some API developers are accustomed beginning API development with design tools like RAML, followed by a development cycle using various frameworks. This reflects the lack of automation in traditional API creation, resulting in a waterfall-like "design-then-build" approach to reduce rework.

Live API Creator's approach combines the process of definition and creation into one step, made point-and-click through leveraging of the data model. This results in running (live) APIs in minutes, even faster than API definition. Such MicroServices can be built in small teams, and require zero compile or deployment.

The resultant API is consistent, both in style, and in functionality (for example, optimistic locking, pagination, etc). Live API Creator further separates the concerns of API Interface from API semantics: your custom resources automatically invoke the underlying logic and security. This means development can not only proceed in parallel, but your APIs can use future logic definitions, without effort or risk. API flexibility is preserved with JavaScript Extensibility. If you require RAML-like approaches for flows that fit into a larger production, you can enable this by way of the Admin APIs.

Are there Automation Trade-offs?

Automation technology can entail trade-offs, as listed on this page.

Can Automation Deliver Enterprise-class Performance?

Yes. Live API Creator delivers enterprise-class performance. API Server leverages Cloud technology for elastic scalability, so that server instances can be dynamically added to meet demand.

A key consideration is latency, addressed in the following ways:
  • You can choose the location of your server to minimize latency.
  • You can define Resources that deliver multi-table results in a single response, with provisions for pagination and refresh automation.
Database overhead is reduced by eliminating/minimizing SQLs, caching, and careful lock management. Client results are delivered with paginated, optimistic locking. Update processing is highly tuned to prune and optimize SQLs, and defer write locks until late in the transaction.

Direct capture of declarative, end-case requirements enable such global optimization, just as a SQL optimizer is now relied upon to deliver retrieval performance equivalent to manual coding. And the same maintenance/iteration value is provided. You can alter the storage configuration, and all of your use cases accrue the benefits.

For more information about automation and business-logic performance, see Performance.

Are all Problems Automated? If not, is it Extensible?

Logic automation is extensive, and complemented by server-side JavaScript provides an effective, standards-based solution where automation does not apply.

Automation is inevitably based on identifying key patterns, and providing simple ways to declare their use. Business logic is no different in this respect. Live API Creator's approach has been to keep the language small and easy to learn. You can add new patterns, as well as solve one-of-kind problems
 provide, using the provided extensibility.

In particular, you can complement your logic with server-side JavaScript. You can also directly specify your SQL with provisions for merging security. When SQL is not enough, you can materialize Resource JSON with JavaScript.

Is Live API Creator opaque - difficult to debug, extend?

Live API Creator is transparent, so you can easily diagnose issues. Even when automation is impressive, there are always issues. You likely have been in the unpleasant situation when a piece of software just doesn't seem to be able to do what you want, or worse, it apparently provides the needed service but silently fails ("what is it doing"?). Live API Creator includes debugging services.

For more information debugging, see Debug your API Project.

Will I have to deal with ugly code?

Automation often depends on code generation, which can be difficult to read, to debug, and to extend. Live API Creator does not generate code. API Creator is easy to manage by providing logging, debugging, and extensibility.

For more information debugging, see Debug your API Project.

Can I use Live API Creator with NoSql databases?

Live API Creator's transactional logic depends on DBMS transaction support. You can integrate MongoDB data into your SQL-based resources declaratively, although Mongo support does not include rules or security. You can also use JavaScript Sub Resources to integrate any data source.

What is the difference between Live API Creator and Other Products with Business Logic?

Live API Creator provides automation. Other products provide a framework-oriented approach to enable you to write 500 lines of code (for example, JavaScript and 4GL). Live API Creator replaces this with five lines of logic. That's a 100X difference, addressing as much as half of your project.

How can rules in JavaScript be "declarative"?

Most of your logic will be simple expressions (for example, row.price * row.quantity). Using JavaScript for these expressions leverages technology you already know, and enables extensibility.

While using a familiar language, rules are declarative, and exhibit the following key characteristics not present in procedural languages:

  • Ordered. API Server parses your logic, and orders it per dependencies.
  • Reused. API Server automatically executes your logic whenever referenced data is altered.
  • Optimized. Conversely, API Server does not execute your logic when you have not changed its dependencies.
  • Automated data access. Your SQL is automated and leverages the cache.
For more information about extensibility, see Extensibility.

Can I use existing Technology?

Do all of my existing Database apps and tools work with Live API Creator?

Yes. Live API Creator does not replicate your schema. It is acquired from the database, eliminating synchronization issues. The DBMS manages locking and concurrency, so existing apps continue to work without change.

Are Rete Business Rule Engines appropriate for Business Logic?

RETE inference engines are a complementary technology, suitable for decision logic. Live API Creator provides a superior choice for transaction logic, since it is SQL-aware, is high performance, and provides active integrity, all within a RESTful interface.
  • Performant aggregate processing
Aggregate processing is a well-known challenge for Rete engines. The root cause is that Rete engine interfaces do not presume a transaction that can be compared to an existing database to compute adjustments, and use these to prune processing logic. So, to define a sum, they must bring all the child rows into memory. Particularly when such aggregates are Forward Chained on other aggregates, this can be prohibitively expensive. By contrast, Live API Creator injects logic into all updates, enabling it to automate key pruning and optimization logic.
  • Active integrity
    Live Creator rules are automatically invoked for all updates. By contrast, Rete rules require explicit calls. Integrity that is elective is not reliable, and does not meet the requirements of regulatory compliance or system integrity.
    • Higher Expressive Power
      Rete engines do not have concepts like old values, so there is no natural way to express state transition logic. They also do not provide advanced logic such as copy and allocation.
      • Simpler to debug
      Live API Creator provides full logging for all logic/SQL and a debugger for detailed diagnosis.
      • Automated SQL and Object Model
      Live API Creator automates, and optimizes, all of the read/write SQL, so your application is focused on a higher level of abstraction. Live API Creator also creates your object mode, whereas you must create such a model manually as a requirement to use a RETE engine.

      These technologies are complementary. Decision-oriented applications often operate without update transactions, and are quite appropriate for Rete engines. Further, Rete engines often include services such as Decision Tables, which you can invoke from transaction business logic to provide End User access.

      Are Process Business Rule Engines appropriate for Business Logic?

        Process engines provide excellent value in workflow and system integration processes, where a sequence of steps is inherently manually ordered. They are a poor fit for transactional business logic, which provides great value in automatic ordering.

        Are Visual Rule Designers a better alternative?

        No. Visual Rule Designers provide a graphical (flow-chart like) way to program your business logic. While visually appealing, these are really totally procedural, suffering from all the liabilities of programming:
        • Ordering. Your diagram is inherently ordered, so changes must reconsider dependencies.
        • Re-use. Your logic is not called without explicit invocation, so re-use is not guaranteed. Worse, re-use is of the procedural variety, not re-use of declarative logic (such as a sum, which is automatically re-used over inserts, updates and changes).
        • SQL. SQL engines typically require you to manually invoke SQL calls. This is a low level of abstraction and obviates the possibility of optimizations.
        • Optimization. Such procedural approaches require you to manually code optimization techniques such as pruning or adjustment, which must be reconsidered on each maintenance change.

        Are JPA Validations Sufficient for Business Logic?

        No. JPA validations are static. They do not constrain the results of declarative derivations, and they are single field or, at best, single-table. You can use multi-table derivations, validations, and actions.

        Is this a 4GL? Can't I use an Existing Language?

        No. Business logic is not a 4GL. Business logic is declarative, providing automated ordering, re-use and optimization. 4GL languages are procedural languages extended with "power verbs", a dubious objective with the advent of extensible languages such as Java or C#.

        What Problems are Suitable for API Creator?

        Reactive logic is the processing you execute on save/submit: derivations, validations, and actions such as auditing, copying, messaging, business process initiation, etc. Architect such logic so that it is shared for multiple user interfaces and message-based transactions.

        Live API Creator provides save (transaction) processing. It is focused on SQL data. In some cases, you might consider it as part of a Polyglot DB approach, wherein an application might often employ both SQL and NoSQL technologies.

        • Data Retrieval RESTful APIs, including multi-database and ERP integration. Create RESTful APIs for SQL data that integrate multiple databases and ERP Systems. You can create these in minutes, while providing enterprise-class scalability.
        • Basic Data Management RESTful APIs. Create, read, update, delete.
        • Advanced Data Management. Enterprise-class extensibility.

        New Technology always brings issues

        Any new technology has implications. The follow answers address common questions.

        What is the Learning Curve?

        Live API Creator fits into your existing architecture, using well-accepted principles of SOA, REST and JSON. There is a learning curve associated with logic:

        • Learn the rules. There are not many, but you must learn them.
          Note: This should take no more than a morning.
        • Learn the logic patterns. Use the extensive tutorial and the Sample database that is installed for your review.
          Note: This should not take more than a day or two to complete.
        • Learn the extensibility patterns. Using custom Java and JavaScript libraries.

        Can I use Business Logic on an Existing Project?

        Yes. The SOA architecture is particularly effective in dealing with multiple languages and architectures. As with any multi-tiered architecture, you will need to ensure consistency between applications that use the logic server, and those that do not.

        Is Reactive Logic a Wizard? Just for the Coding Phase?

        Reactive logic is not a Wizard. In fact, there is no design-time component. All of the processing occurs at runtime.

        It is relevant to far more of the project life cycle than coding:

          • It provides some value at analysis time, by introducing high level abstractions such as allocation.
          • It provides considerable value during design, by automating design issues such as re-use, ordering, optimizations, and partitioning.
          • It executes at runtime
          • It provides considerable value during maintenance, automating re-ordering and re-optimization, and with Topics provisions for transparency and Rules Traceability.

        I am a Developer - what's in it for me?

        Live API Creator delivers value to the business of agility and Total cost of ownership (TCO). For developers, Live API Creator delivers the following benefits:

        • Automated Maintenance. Automated Ordering eliminates the bulk of drudgery of maintenance, since you can just introduce the new logic without worries about dependency management. You'll also be able to find the business logic, without having to hunt through controllers, domain objects, services, and who knows what. So maintenance will be more like development, not archaeology.
        • Automated Documentation. Logic is transparent to business users, so is executable documentation. So it's built as a by-product of development, and does not "drift" away like manual documentation
        • Quality. Automated re-use means that your logic is always re-used. No more corner cases discovered during Final Test (or worse: later).
        • Creativity. Why would you want to build code a machine can build? It is much more creative, and valuable, to identify new patterns, and build re-usable extensions to automate them.
        • Delivering. The "kick" of programming is to deliver new functionality that delights your users. Why not do it more quickly and more often?  Help reduce the hated backlog.
        • Transparent. Logs make the logic and SQL clear. Metrics enable you to detect APIs that are failing or running too slow.
        • Integrated. Live API Creator is an API-based implementation, so it integrates with your current technology.
        • Controlled Automation. You control how much automation you employ. You can start simple, using familiar JavaScript with basic Security and Validation services. You can use additional automation as you gain confidence.
        • Less Hassle. You do not need to compile/deploy/maintain code on an application server. You do not need to deal with SQL.
        • Latest-technology exposure. With Live API Creator, you quickly become familiar with technologies such as APIs, micro services, server-side JavaScript, reactive logic, etc.

        Does Business Logic benefit Package Development?

        Yes. Business Logic can make your package development more agile, can reduce customization costs, and can reduce merge costs for subsequent release cycles.

        • Increased Agility

        Business logic is 50% of your system. Live API Creator addresses over 95% of this logic, reducing it over an order of magnitude. Each rule represents a page of code. You can extend rules to automate simple examples and complex problems such as cloning an order, payment processing, or exploding a bill of materials. Such agility provides a strategic competitive advantage is delivering packages.

        For more information:

        Communicating what your product does is always a challenge. Logic Filtering can provide a transparent view of your systems' business processes, the Use Cases, the Requirements for each, with full traceability to the logic that implements them. Customers are more likely to buy what they can more readily understand.

        • Reduced Customization Costs

        Classic packaged systems incur enormous costs for customization by way of code. Live API Creator provides the customization in logic classes. The logic classes can extend and override core (delivered) logic classes, and automatic dependency-based logic ordering ensures the revised logic runs in the correct order. This can represent a reduction in customization costs for consumers. Suppliers can improve margins by reducing time and material installation costs. This is a strategic competitive advantage. Package suppliers utilizing a logic-driven "applitecture" can compete not only by getting to market faster, but also by enabling their customers to extend and customize the package faster and easier.

        • Reduced Merge Costs

        Traditional approaches often require expensive code merges when new versions of the core product is released. Live API Creator short-circuits this problem using inheritance with dependency-based ordering. Customizations, which are represented in extended Logic (sub) Classes, inherit newly supplied core product logic. Merging is not required for business logic.

        Does Business Logic benefit Integrators with Frameworks?

        Yes, Integrators can enhance their business practice, provided they are focused on a value-based relationship with their clients.