sdf

About


What is X7 UNDERCLOUD?

X7 UNDERCLOUD is a software framework that is designed to support the development of dynamic websites, web applications and ria apps. The framework aims to alleviate the overhead associated with common activities performed in Web development. For example, provide libraries for database access, templating frameworks output response and session management.

A Web service is a method of communication between two electronic devices over a network.

The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically Web Services Description Language WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards." Wikipedia.

X7CLOUD SERVICE NOT REQUIRE:
- REST/FULL services
- XML definitios
- SOAP definitions
- WSDL Definitions

 X7CLOUD IS NOT ANY OF COMMON STYLES USED IN A WEBSERVICE:
- IS NOT REST STYLE
- IS NOT RPC STYLE*
- IS NOT SOA STYLE
- IS NOT RMI
- IS NOT DCOM
- IS A NEW STYLE with modules and verbs

X7CLOUD defined a set of Hypertext Transfer Protocol (HTTP) request messages along with a definition of the structure of response messages, usually expressed in an Extensible Markup Language (XML) or JavaScript Object Notation (JSON) format, but here is the thing
You can Overload the function to add ANY KING OF STRUCTURE RESPONSE to be compatible with any RIA CLIENT FRAMEWORK.

The very small number of prerequisites make x7cloud easy to install on any configuration; you just need Unix or Windows with a web server and PHP installed. It is compatible with SQL and MYSQL database system but you can develop your own script conecction. In addition, it has a very small overhead, so the benefits of the framework don't come at the cost of an increase of hosting costs.

The clean design and code readability will keep your delays short. Developers can apply agile development and focus on applicative logic without losing time to write endless XML configuration files.

CHECK THIS OUT!:
  • Reduce Deployment time
      • Usually time to create a common webservice can take months,weeks.. but with this easy php webservice X7Cloud will take with the database procedures made like 1 hour. Just check sample script, you will se so easy is the develpment.
  • Calls:
      • HTTP REQUEST: pure data MUST be in GET , the rest of data could be POST OR GET. (pure data means the principal collector data vars..only GET)
      • For example basic normal call: http://localhost/ws/example1.php?mod=1&verb=1 , mod and verb also are configurable vars but must be in GET. the rest of the data could be be GET or POST..
  • Security:
      •  Preventing exceptions,cleaning data malformed or malicious messages , loggiing all data process, hidden errors messages.
      • Also have a internal logic to detect if a user have steal the session, Hash value is this session value .. optional but 100% recomended.
  • Loggin mod:
      • Automatic logs to record all moves of webservice, so you can found any erros very fast.
  • Easy implementacion:
      • For example to debug a Database call, just need and Debug parameter to function, to add new module just need add_module(id), to add a new type of data just need add_datatype(type,function)..and more.
  • Special features:
      • Automatic handle php sessions: Just need somenthing like is_loggin() to check session, you can add dinamicly session vars.
      • Automatic timeout, you can set time out for session.
  • Automatic "light" documentation:
      • For each add module and submodule you can add a title,id and description for automatic documentation cretation.. 
  • Automatic data validation:
      • With a just can_continue() you can continue or stop the current function.
  • Template Data Structure:
      • because this is open source, we can and from contrubuidors infinite libs scripts, a template lib script is a segmente of code of the principal scripts, this code will have the default preferences of each framework, for example if you want to copulate a GRID in sencha you can select response data type,json. response type:grid and select sencha data structure scripts, because maybe in sencha have a parent value("data") and in smartgwt is("callback") so, this scripts have the tipical data structure of each frameworks,we want to put here all frameworks in the world :)
  • Any type of resource:
      • With the dinamic option add type header and add type data, you cant output any data file in any format.. for example you can show a gif a video, just need to set video format headers response, and when you call response() and type video. So This framework can output any format file (pdf,ppt,txt,csv,plain,xml,json,etc). 
  • Database:
      • no more worry about the database functions, just need configure type of database (sql,mysql,sqlite) and then with consulta() you can request procedures.
  •  Url Mapping:
      • With MOD_REWRITE a url can be converted in http://localhost/ws/example1.php?mod=1&verb=1 TO http://localhost/ws/hash/mod/verb/ 

STANDARS:
  1. The normal standart of a url is http://localhost/ws/script.php?MOD=nnn&VERB=nnn&HASH=nx10 always in GET METHOD , the other values can go in POST OR GET..
  2. The name of vars must be always numbers not letters like in example(mod,verb), all parameters must be numbers, and in the php script var name can be real name of var , for example: localhost/script.php?1=0&2=2 , then in your script //1 is MOD, 2 is Verb -- localhost/script?1=0&2=2&3=12&4=jamesjara so in the script php document as //  3 is id user, 4 is name user .. final code is like this $id_user = @$Webservice->NewValue(  $_GET['3'] , VVARCHAR , TRUE );
  3. Use store procedures inside a functions, no more sql inside php strings. (if you need to secury the sql string check for Super security sql article, very cool if you have roles user, for example developer in php cant access database... sound odd, check article.(only for unix/linux)






flow example



You need to handle the relations between the id number value and real name value in the php script. For example $ID_USER= @$Webservice->NewValue(  $_GET['1'] , VVARCHAR , TRUE );