精华内容
下载资源
问答
  • GeneXus Web扩展库 打开和关闭浏览器窗口(InNewWindow): 它允许打开新窗口或浏览器选项卡 关闭以编程方式打开的窗口 用户关闭窗口时触发GeneXus事件 与GeneXus Popups交互的API: 它使关闭弹出窗口成为可能(当...
  • GeneXus发布的最新Beta版本,生成的应用程序已经可以连接、记录和读取区块链中的数据了。如果您项目中涉及到区块链的技术,现在就可以尝试一下啦! 区块链技术在大多数行业中都可以有广泛的应用,当两个或更多的公司...
  • geneXus doc

    2018-08-17 19:11:10
    genexus doc you can learn some knoweldge from this doc.
  • genexus-plugin-源码

    2021-05-26 20:08:29
    Jenkins的GeneXus插件 Jenkins插件为GeneXus项目提供支持: 注册GeneXus安装 GeneXus Server SCM选项(签出,轮询和更新) 建立GeneXus知识库
  • Genexus_安卓集成步骤

    2018-09-21 14:43:40
    Genexus IDE中,有些原生Android的方法可以安装这个步骤集成到Genexus
  • GeneXus

    2018-04-17 15:25:00
    我公司代理GeneXus智能开发平台。该软件开发平台是依托于算法以及人工智能的核心技术达到智能开发的目的。同时可以支持多数据库的操作,例如常见的数据库MySql,SqlServer等常见的数据的相关操作;再后台开发中我们...

    杰世智能科技(大连)有限公司是致力于智能软件开发的科技公司,公司涉及的业务有智能软件开发平台的代理,软件定制开发,人力资源服务。

    我公司代理GeneXus智能开发平台。该软件开发平台是依托于算法以及人工智能的核心技术达到智能开发的目的。同时可以支持多数据库的操作,例如常见的数据库MySql,SqlServer等常见的数据的相关操作;再后台开发中我们支持Java,C#,Ruby开发语言,前端web我们支持HTML5,css3,JavaScript的脚本语言,同时我们还支持移动端开发(Android,IOS,微信端等混合开发模式)。

    我公司的产品主要解决企业以下问题。多平台开发能力不足,人员的体制不全,个人效率产值低,技术更新快团队不能满足客户需求等相关企业开发难题。我们公司可以提供完善的解决方案。

    转载于:https://www.cnblogs.com/Lee1988/p/8866967.html

    展开全文
  • 使用GeneXus做开发做了有一段时间了 却发现一个问题(O_O)?就是除了相关的Wiki外 网上其他地方的相关资料都很少 于是乎我就想在这记录一些东西 来帮助以后会用到的人(°ー°〃) 那么第一个问题:什么是GeneXus ?? w...

    使用GeneXus做开发做了有一段时间了 却发现一个问题(O_O)?就是除了相关的Wiki外 网上其他地方的相关资料都很少 于是乎我就想在这记录一些东西 来帮助以后会用到的人(°ー°〃)

    那么第一个问题:什么是GeneXus ?? w(゚Д゚)w?

    这个问题我想大部分人都很陌生 首先可能先入为主的以为是一个技术 但是无论是从贴吧圈子里都很少或者说几乎没听过这个词语 对吧?其实这个GeneXus是一款从国外传进来的开发工具ㄟ( ▔, ▔ )ㄏ

    欸 Σ(⊙▽⊙"a 现在主流的语言都会有自己的一个配套的开发工具 Java有Idea  C#有Vs  安卓有自己的Android Studio 等等诸如此类的  那么这是不是某种语言的开发工具呢?

    其实也不是-_-||使用它的话可以同时开发javaC# 以及安卓 IOS等应用程序 是不是听得很奇怪 这都不是一个平台的东西     PS:(ˉ▽ ̄~) 切~~ C#天下第一!!破音!~( ̄0 ̄)/  请继续往下看

    首先传统模式的开发由于受成本的控制,不可能所有开发人员都是经验非常丰富的。人员能力参差不齐导致代码 Bug非常多 其次就是随着多元化的时代的脚步 公司人员投入的成本也很大

    比如一个项目可能就需要公司的前端设计+后端开发服务然后是其他的公司的测试啊什么的  或者说一个人身上需要参与着几个项目 比如这个项目还需要用到IOS开发 这时候公司又没有 这类人员

    公司招了一个 写完这个项目又不需要了 然后踢了 哈哈哈哈哈╮(╯▽╰)╭ 又不是没有这样的事 这个时候GeneXus的作用就体现出来了 首先比如一个项目可能前后需要10个人参与 那么按照我们的要求 使用GeneXus的团队只需要3个人 !!理由如下:

    1.几乎全自动化的代码生成:我们使用的过程中只需要关注逻辑代码的编写 其底层的代码完全由GeneXus替代 相当于你告诉它(我想吃雪糕 你从抽屉里拿钱 然后过马路 过马路时注意车辆  和店员说买个雪糕 蓝莓味的 然后回来给我)剩下的事情不需要操心 它自动帮你完成 只要逻辑没问题 那么就不会发生代码层级的bug.

    2.代码的复用性: 我们只需要写一套业务逻辑 这套代码就能直接生成安卓、IOS 、C# 以及Java端的应用  Σ( ° △ °|||)︴ 沃日!唯一可能改变的就只有页面的布局之类的 但是不用急请继续往下看

    3.提供各种Web及移劢端UI模板,模块化配置 里面自带了各种Web端的UI设计 不仅如此 移动端IOS 和安卓  WebForm  甚至到塞班系统都有集成 选个模板修修改改就可以了 当然 你完全可以自己找一个UI设计

    画出你想要的 然后 拖拉拽 OK  你没看错 是直接拖拉拽 然后改一下名字显示 绑定一下变量或者Grid 然后把之前Web端写好的逻辑挪过来 点击安卓环境 生成 完事..... 超方便的说 (* ̄ω ̄)

    4.最后就是简单易学,学习GeneXus只要掌插各个对象的使用方法就可以,不用陷入各种不同技术的细节中。因为之前我就说过 GeneXus有自己的技术团队 会把当下热门的技术进行学习了解摸透 然后通过自己的方式集成到IDE中

    我们要做的就只有调用就好了 这么说你可能还没有明确的概念 我举个简单的例子吧 比如现在我调用一个接口获取电话号码的归属地  当然这里只是举个例子 C#代码如下  这里我用的是聚合数据的参考代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Net;
    using System.IO;
    using Xfrog.Net;
    using System.Diagnostics;
    using System.Web;
    
    
    namespace ConsoleAPI
    {
        class Program
        {
            static void Main(string[] args)
            {
                string url = "http://apis.juhe.cn/mobile/get";
    
                var parameters = new Dictionary<string, string>();
    
                parameters.Add("phone" , "13429667914"); //需要查询的手机号码
                parameters.Add("key", "您申请的ApiKey");//你申请的key
    
                string result = sendPost(url, parameters, "get");
                
                // 代码中JsonObject类下载地址:http://download.csdn.net/download/gcm3206021155665/7458439
                JsonObject newObj = new JsonObject(result);
                String errorCode = newObj["error_code"].Value;
    
                if (errorCode == "0")
                {
                    Debug.WriteLine("成功");
                    Debug.WriteLine(newObj);
                }
                else
                {
                    //Debug.WriteLine("请求异常");
                    Debug.WriteLine(newObj["error_code"].Value+":"+newObj["reason"].Value);
                }
    
    
            }
    
            /// <summary>
            /// Http (GET/POST)
            /// </summary>
            /// <param name="url">请求URL</param>
            /// <param name="parameters">请求参数</param>
            /// <param name="method">请求方法</param>
            /// <returns>响应内容</returns>
            static string sendPost(string url, IDictionary<string, string> parameters, string method)
            {
                if (method.ToLower() == "post")
                {
                    HttpWebRequest req = null;
                    HttpWebResponse rsp = null;
                    System.IO.Stream reqStream = null;
                    try
                    {
                        req = (HttpWebRequest)WebRequest.Create(url);
                        req.Method = method;
                        req.KeepAlive = false;
                        req.ProtocolVersion = HttpVersion.Version10;
                        req.Timeout = 60000;
                        req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";
                        byte[] postData = Encoding.UTF8.GetBytes(BuildQuery(parameters, "utf8"));
                        reqStream = req.GetRequestStream();
                        reqStream.Write(postData, 0, postData.Length);
                        rsp = (HttpWebResponse)req.GetResponse();
                        Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet);
                        return GetResponseAsString(rsp, encoding);
                    }
                    catch (Exception ex)
                    {
                        return ex.Message;
                    }
                    finally
                    {
                        if (reqStream != null) reqStream.Close();
                        if (rsp != null) rsp.Close();
                    }
                }
                else
                {
                    //创建请求
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + "?" + BuildQuery(parameters, "utf8"));
     
                    //GET请求
                    request.Method = "GET";
                    request.ReadWriteTimeout = 5000;
                    request.ContentType = "text/html;charset=UTF-8";
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                    Stream myResponseStream = response.GetResponseStream();
                    StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
    
                    //返回内容
                    string retString = myStreamReader.ReadToEnd();
                    return retString;
                }
            }
    
            /// <summary>
            /// 组装普通文本请求参数。
            /// </summary>
            /// <param name="parameters">Key-Value形式请求参数字典</param>
            /// <returns>URL编码后的请求数据</returns>
            static string BuildQuery(IDictionary<string, string> parameters, string encode)
            {
                StringBuilder postData = new StringBuilder();
                bool hasParam = false;
                IEnumerator<KeyValuePair<string, string>> dem = parameters.GetEnumerator();
                while (dem.MoveNext())
                {
                    string name = dem.Current.Key;
                    string value = dem.Current.Value;
                    // 忽略参数名或参数值为空的参数
                    if (!string.IsNullOrEmpty(name))//&& !string.IsNullOrEmpty(value)
                    {
                        if (hasParam)
                        {
                            postData.Append("&");
                        }
                        postData.Append(name);
                        postData.Append("=");
                        if (encode == "gb2312")
                        {
                            postData.Append(HttpUtility.UrlEncode(value, Encoding.GetEncoding("gb2312")));
                        }
                        else if (encode == "utf8")
                        {
                            postData.Append(HttpUtility.UrlEncode(value, Encoding.UTF8));
                        }
                        else
                        {
                            postData.Append(value);
                        }
                        hasParam = true;
                    }
                }
                return postData.ToString();
            }
     
            /// <summary>
            /// 把响应流转换为文本。
            /// </summary>
            /// <param name="rsp">响应流对象</param>
            /// <param name="encoding">编码方式</param>
            /// <returns>响应文本</returns>
            static string GetResponseAsString(HttpWebResponse rsp, Encoding encoding)
            {
                System.IO.Stream stream = null;
                StreamReader reader = null;
                try
                {
                    // 以字符流的方式读取HTTP响应
                    stream = rsp.GetResponseStream();
                    reader = new StreamReader(stream, encoding);
                    return reader.ReadToEnd();
                }
                finally
                {
                    // 释放资源
                    if (reader != null) reader.Close();
                    if (stream != null) stream.Close();
                    if (rsp != null) rsp.Close();
                }
            }
        }
    } 

     是不是很麻烦?当然现在可能你们公司都有大佬写好了一些东西 不用写这么多代码来调用但是相比于GeneXus调用 简单

    //拼接聚合API调用地址
    &vUrlStr = "apis.juhe.cn/mobile/get?"
    //拼接参数:手机号
    &vUrlStr = &vUrlStr +"phone="+&iPhone
    //拼接参数:APPKEY
    &vUrlStr = &vUrlStr +"&key=1234567890"
    //拼接参数:dtype(默认json)
    &vUrlStr = &vUrlStr +"&dtype="
    //调用聚合API调用地址
    &httpclient.Host = &vUrlStr
    &httpclient.Execute('GET', '')
    &result = &httpclient.ToString()
    //接口返回Json
    &oResult.FromJson(&result)
            

    通过定义变量然后拼接接口需要的参数调用内置函数&httpclient以及他的一些属性最后用内置函数FromJson解析返回的Json数据就结束了  炒鸡简单

    当然简简单单这么些篇幅完全不能够介绍完GeneXus所拥有的能力  接下来我会将一些东西慢慢展示给你们大家

     

    转载于:https://www.cnblogs.com/CurtilageBoy/p/10616965.html

    展开全文
  • GeneXus学习记录——Transaction

    千次阅读 2021-09-07 16:57:20
    GeneXus中的Transaction是用于描述对象的模型。 英文描述: Describes an object or actor of reality, defining the structure of the database, business rules, and the UI for data manipulation. 翻译了...

    GeneXus中的Transaction是用于描述对象的模型。

    英文描述:

    Describes an object or actor of reality, defining the structure of the database, business rules, and the UI for data manipulation.

    翻译了一下:

    描述真实的对象或参与者,定义数据库的结构、业务规则和用于数据操作的UI。

     创建一个Transaction对象可以右键一个模块或者目录,选择新建-对象。 

    选择Transaction填写名称和描述,然后创建。

     创建完是这个样子。

    可以定义名称、类型、描述。

    快捷键 "."(句号)可以把Transaction名称带出来,GeneXus字段名不能重复的,相同名称的字段会认为是一个,以此创建关联关系,所以建字段的时候都带上Transaction名字。

     保存之后编译,弹出需要配置编译过程中所需的属性。 

    点设置数据库连接,填写数据库的用户名和密码,选择数据库或者填写名称创建数据库。

    然后测试连接。

    数据库配置也可以在首选项中修改,默认是SQL Server数据库,可以修改使用其他数据库。

     配置完继续编译,会显示出来影响分析界面。

     在这里能看到需要创建的数据库表,执行的SQL语句。点创建。

    可以看到这里的重构过程,创建了表User。

    打开数据库看一下创建的表。

    这个时候如果点运行,可以看到自带的增删改查页面。

     加一条数据试下。

     

     数据库里查询下看看。

    Transaction是支持Level的,层级的Level其实会生成一个双主键的表,层级越深主键越多。

    加上点Level试下,右键插入层级。

     加完之后是这样的。

    可以通过Table查看物理表。

    编译时的影响分析。

    数据库表结构。

     再创建一个表来进行关联。

    影响分析。

    可以看到会添加一个字段以及外键约束。

    展开全文
  • .NET和.NET Core的GeneXus标准类 .NET和.NET Core生成器的GeneXus标准类。 建造状态 科 状态 主 贝塔 模组 名称 描述 包裹编号 Gx加密 与.NET和.NET Core通用的与基于Twofish算法的加密相关的类 GeneXus加密 ...
  • GeneXus 是一个用于开发和维护软件系统的工具。 GeneXus 基于业务系统知识的自动管理。这怎么可能?通过在数学和逻辑方面定义系统开发和维护问题,以确保严格处理所考虑的问题。 GeneXus的目标是获得一个充分...

    GeneXus 是一个用于开发和维护软件系统的工具。

    GeneXus 基于业务系统知识的自动管理。这怎么可能?通过在数学和逻辑方面定义系统开发和维护问题,以确保严格处理所考虑的问题。

    GeneXus的目标是获得一个充分代表现实并且可以随着时间保持最新的模型。如何做到这一点?通过对现实的准确描述,通过描述用户对数据的不同视图。描述是在 GeneXus 对象中捕获的,具有必要的表达能力以正确表示该现实。然后捕获并综合这些视图中包含的知识以构建模型。

    GeneXus 通过知识库与模型一起工作,知识库由存储知识的数据库和推理机制组成,推理机制允许从存储的知识开始,获得可以从逻辑上推断出的任何其它知识。

    此推理是一种确定性操作,其中使用了数学方法和工具、谓词逻辑、计算机科学和人工智能。推断的知识范围从简单到非常复杂的事物,例如数据库设计或任何程序的生成。

    所有这一切都是通过内部研究实现的。自 1984 年以来,由工程师和数学家组成的团队为该项目投入了数百人的研究和开发。GeneXus 的第一个版本是在三十多年前发布的。截至2005年,全球有 7,000 名客户和超过 85,000 名开发人员围绕 GeneXus 建立了自己的职业生涯。

    GeneXus 通常用于构建大型关键任务系统。

    简而言之,GeneXus 是一个用于软件系统开发和维护的工具,实现手段是通过描述而不是编程的方法。

    1、简介

    我们创建 GeneXus 的研究始于 1984 年。当时,我们正在寻找一种产品,以便帮助我们的客户应对我们预期随着时间的推移会发生的重大变化。当时的情况与现在大不相同,大多数应用程序都是面向批处理的,交互式应用程序具有非常基本的文本屏幕和对话框。一般来说,最终用户是为组织工作的员工。

    现如今,世界上大多数居民都是许多系统的潜在用户。1980年代的大公司使用几千兆字节的数据库,而今天的公司数据库已达到几千PB字节。也就是说,它们的体积翻了百万倍!

    我们的目标是将应用程序的开发和维护“工业化”,以降低成本并避免呈指数增长的人为错误。

    我们一开始面临的一个简单问题是哪些事情可以自动化,哪些不能?我们的目的是使用 GeneXus 来自动化所有可以自动化的东西。

    GeneXus 是一支卓越的高素质专业团队努力的产物,他们以杰出的慷慨、热情、承诺和信念将他们的科学和技术专长用于项目服务。尽管在这些过程中遇到了困难,但他们始终对自己的工作充满热情。

    但我们也必须说,今天的 GeneXus,尤其是未来的 GeneXus,远远超出了实验室所能完成的范围。如果没有与 GeneXus 社区日益重要的互动,GeneXus 就不可能实现。GeneXus 社区由全球超过 85,000 名开发人员组成,围绕它开展专业活动。

    有时我们会发现一些潜在客户,虽然他们对 GeneXus 提供的可能性非常感兴趣,但害怕将其作为战略解决方案,因为他们发现它与他们所知道的如此不同。

    如果我们考虑历史上所有伟大的创新,这方面并不新鲜。著名科幻小说作家亚瑟·C·克拉克 (Arthur C. Clark) 提到了这一点,他说:“任何足够先进的技术都无法与魔法区分开来。”。我们的技术没有任何神奇之处:它是明确目标、持续承诺、持续努力的结果,以及少量很好的想法和数百人年的研究和开发,利用所有可用的科学和技术,例如数学、逻辑、计算机科学和人工智能的方法和工具。

    (译者注:这里的人工智能是基于ProLog人工智能语言的专家式人工智能技术,而非基于机器学习的人工智能技术。)

    我们于 1984 年开始使用这个工具包,并随着我们自己的理论发现和我们随着时间的推移构建的新工具不断增加它。我们利用这个基础建立并不断改进业务系统现实的元模型,这使我们能够在任何给定时间获取每个公司所需的特定模型,并自动生成和维护他们的应用程序(数据库、程序、和过程)。

    2. 目标

    主要目标是为通常影响所有系统开发中遇到的许多问题找到解决方案,以下是所面临的常见问题:

    •  重点关注技术而不是业务;

    •  应用的低级技术导致非常低的生产力、人为错误和开发人员缺乏动力;

    •  可用的文档往往不完整和过时,部分知识只存在于一些开发人员的脑海中;

    •  随着新技术的引入,这些开发人员的技术知识在短短几年内就会过时。

    那么,如何才能避免这种情况呢?

    答案是:通过自动化可以自动化的一切。

    在系统开发中什么可以自动化,什么不能自动化?

    GeneXus 30 多年帮助数万家客户并被全球数百万名开发人员使用的经验表明:

    整个系统的开发和维护都可以自动化:

    系统开发和维护是指数据库、程序和流程的设计、生成和维护,所有这些最终都可以被视为非创造性的日常任务,因为它们可以从合适的模型中自动推断出来。

    每家公司都需要一种在每种情况下都不同的特定模型。构建模型意味着理解客户需求的创造性任务。

    3. 如何达到目标

    • 模型

      实现拟议目标的第一个基本要素是设计一个充分代表现实的模型。

    • 客观性

      在我们的模型中引入主观元素将使其在很大程度上取决于构建它的个人。

      随着问题规模的增加,主观性方面与越来越严重的错误相关联。

      我们的模型必须建立在客观要素的基础上。

    • 自动管理

      每个模型都包含大量知识,手动使用时不会显著提高生产力。

      此外,我们将无法避免开发人员所犯的众多人为错误。

      为了实现我们的目标,我们必须创建一个模型,允许程序使用其中包含的知识,而无需人工干预。

    • 增量开发

      现实不是静态的,没有静态模型能够随着时间的推移准确地表示它:

      我们需要模型能够以增量的、非破坏性的方式不断适应现实。

    • 独立于信息技术

      信息技术在不断发展,一般来说,这种演变是破坏性的。

    频繁发布新的操作系统、数据库管理系统、编程语言、通信监控和隐喻:面向批处理、与文本屏幕交互、Windows、Web、智能设备……接下来会发生什么?

    如果我们的模型依赖于特定时间使用的信息技术,那么在转向新技术时它就会过时。

    所以,我们的理论模型必须是完全排除当前信息技术元素的知识的规范。

    4. 模型和知识库

    它是关于以自动方式处理纯知识,并从存储的知识中推导出所有可以从逻辑上推断出来的知识。模型是包含所有这些知识的理论概念。我们的理论模型于 2010 年公开,以协助 GeneXus 社区和其他有兴趣推进基于知识的软件公司。

    我们必须自动处理知识,为此我们实施了知识库,它由两部分组成:

    •  数据库

    存储知识的数据库由一个从市场中选择的关系数据库和一组简单但重要的扩展组成,例如,这些扩展允许它有效地处理未预先定义的复杂对象和元素。

    •  推理机制

    推理机制是基础。一开始,我们可能会认为数据库中存储的是对旧式数据字典的简单改进。添加的强大而复杂的推理机制使一切变得不同:

    就像在数据字典中一样,存储在其中的元素可以随时检索并通过交叉引用相互关联。然而,这绝对是不够的:我们还需要能够获得任何知识,尽管没有存储,但可以从实际存储的知识中推断出来。

    基本示例

    • 对于一组数据视图,获取合适的最小关系模型。

    • 对于特定的数据视图,生成必要的程序来使用它。

    图片

    5. 描述知识的客观性 - 透视同构法

    几个世纪以来,绘画都是凭经验发展起来的,没有任何规则来支持它们。1417 年在佛罗伦萨,意大利艺术家和建筑师 Filippo Brunelleschi 提出了一套我们今天仍在使用的规则(描述性几何原理)。

    但是,透视以何种方式与数据分析相关?

    透视法是一个重要的灵感来源。最重要的是它触发了范式转变的开始:随着透视法的采用,我们从一种复杂、令人困惑和主观的方法(我们“按照我们认为的那样”绘制对象) ) 到描述性的、简单的和客观的方法(我们绘制一个“我们所看到的”对象)。

    如果我们能对数据做类似的事情,我们就会取得巨大的进步!

    实际上,我们可以说:我们需要描述现实的所有知识都可以从用户的视图中获取。

    如果我们考虑“在组织中,谁以必要的客观性和详细程度了解数据?”的问题。我们将看到答案是否定的。

    因此,让我们尝试将其替换为另一个可以回答 YES 并可以帮助我们构建我们想要的模型的模型:“公司用户对哪些主题有客观详细的了解?”。每个用户都非常了解他或她使用的数据的视图。

    让我们回到透视法;在透视和数据分析中,我们“描述视图”。从这些视图中,我们获得了知识。 

    (译者注:主题是人对外部对象的观察、体验、分析、研究等后得出的理解、观点、评价等认识结晶。其中既包括主观的认识又包括客观的认识。)

    6. 模型概述

    一个显而易见的问题是:给定一组数据视图,我们能否为它们推断出合适的数据模型?

    这是一个很好的问题,因为它将问题带到了数学领域。

    • 首先,我们必须定义一个参考框架。

      不同数据元素的名称将遵循明确的命名规则,以便自动处理。

    • 其次,每个视图都有一个必须以准确和客观的方式表示的结构。

    • 第三,我们需要一个过程来从一组数据视图转换到相应的模型。

      我们将前面的问题改写如下:

      给定一组数据视图,有适合他们的最小关系模型吗?

      答案是肯定的!

      因此,在仔细定义问题并确定之后,我们回到工程领域并开发了一个程序来生成模型。

    综上所述,到目前为止,我们已经对问题进行了仔细的定义,来自数学、逻辑、人工智能和工程领域的广泛方法和工具可以帮助我们来解决这个问题。

    7. 自动化管理

    一旦我们从通过数据视图捕获的知识中获得了模型,我们是否可以自动生成必要的程序?

    一开始,我们并没有考虑生成程序,但是 IT系统一直遭受的所谓“稳定数据库”的失败,使我们坚定信念我们应该解决这个问题。否则,我们的客户将始终背负高昂的维护成本。

    几乎从一开始,计算机科学就承担了程序自动生成的问题。生成器基于“模板”或“框架”,从填充空白的方法开始,然后变得越来越复杂,最终解决了安装需求的很大一部分。

    但这不是我们想要的,因为我们想要生成“所有”必要的程序,否则我们将无法确保自动维护。

    8. 增量开发

    稳定的数据库可能吗?

    “稳定的数据库”是计算机科学中反复出现的问题。这个想法是这样的:

    如果我们为特定企业提出“正确的数据库”,那么该数据库在未来将保持稳定。因此,随着时间的推移,我们将简单地编写使用它的程序。

    关于这个主题已经写了很多。

    然而,这个论点是错误的,因为一个组织只有在它停滞或死亡的时候才有一个稳定的模型!因此,最好不要浪费任何精力去寻找这样的稳定模型,而是准备好使用可能的、真实的、不稳定的模型。

    那应该如何做好数据库不稳定的工作?

    这是全新的东西。这个想法是在概念层面拥有一个知识库,以增量方式动态适应公司的需求,并能够自动生成数据库结构和程序中的必要更改,以便一切随着时间的推移按照最佳方式正常工作。

    这是一项巨大的技术/科学挑战,我们在 30 年前成功战胜了这一挑战。关键是完全独立于像文件和访问机制等物理元素的知识表示。

    9. 独立于信息技术

    信息技术以一种非常动态且无政府主义的方式发展:所有大公司都发布他们的创新产品,试图以最具商业效率的方式与其他公司竞争。经常引入破坏性创新,会给用户带来严重的问题。

    我们的目标是让我们的知识库独立于给定时间使用的技术,这样,只需构建新的生成器,我们就可以使用旧知识为未来可能流行的新技术生成应用程序。30 多年来,我们的客户一直受益于此功能。

    展开全文
  • 敏捷开发与GeneXus哲学

    2021-07-12 15:39:56
    GeneXus的重要创始人和核心成员的观念里,在做一件重大事情前往往需要进行大量的思考,尤其是所要从事事业背后的本质及相关的哲学问题进行思考,然后要研究对应的方法论。在上述问题得到明确的答案后,才开始开展...
  • GeneXus是面向业务的快速开发工具.<<GeneXus快速入门指南>>是入门必读资料.
  • Manual de inicio con la version genexus x evo 2 u3
  • 这些是Java的GeneXus标准类的来源,自GeneXus 16 Upgrade 4起有效。 模组 名称 描述 共同 Android和Java通用的类 gxcryptocommon 与密码学相关的Android和Java通用类 apacheandroid Android apache类的依赖关系。 ...
  • 终于想到写什么东西了(绝对不是因为懒 好吧 信我) 那么进入正题 我们写项目的时候 遇到一些问题啥...*) 那么同样GeneXus作为一款快速开发平台他自己的增删改查又是怎样的呢?在此之前我们应该先创建一个项目才对 所...
  • 不论是初次接触GeneXus,还是使用GeneXus很长时间,我们大家常常有一些疑问:在由欧美国家占绝对主导地位的软件领域,一个来自南美的小国-乌拉圭,竟然出了一个世界知名的软件公司?30多年几乎跨越软件发展史一半的...
  • GeneXus与微服务那点事

    2019-03-26 23:00:32
    GeneXus发布了一个集成Jenkins的插件,需要注意,如果在GeneXus项目中要使用Jenkins,需要先安装该插件,该插件能够支持SCM和构建集成。   持续交付(CD) CD是一种软件开发策略,以使公司能够尽可能...
  • GeneXus安装好之后,怎么创建一个知识库呢? 只需要点文件-新建-知识库,就可以了。 弹出的窗口填写KB名字,选择保存目录,点创建。 这里有一个注意点:数据库排序规则。 点开高级,可以看到这里SQLServer...
  • GeneXus快速入门指南

    2011-11-13 14:24:42
    GeneXus快速入门指南GeneXus 是基于知识库的开发工具。本文档的目的是帮助你发掘它的优势,它优势体现在: • 自动数据模型设计 • 自动代码生成 • 自动数据库和代码维护 • 多平台开发和安装
  • 典型的低代码平台包括:GeneXus、OA转型平台等,其中前者更适合核心应用的开发,后者对于建立审批流程体系更适合。 集团类大中型企业 大中型企业集团信息化建设较为成熟,同时也拥有较强的IT团队和IT基础架构设施。...
  • Genexus X Manual

    2011-08-23 08:13:20
    manual del usuario de genexus x para windowsh
  • GeneXus新手笔记-Transaction/Procedure/Web Panel语言环境:C#,JAVA服务器:Internet Information Services(IIS),Tomcat开发工具:GeneXus10.3背景: 之前我是写java的,来到新公司这里要用GeneXus。写这个文章的...
  • GeneXus开发平台,真正的实现业务与技术的隔离!
  • 误区一:低代码技术是近几年才出现的技术 实际上低代码技术从上个世纪80年代就开始出现了。...那个时候典型的CASE产品包括:Oracle CASEDesigner、GeneXus等。 随后低代码技术便经历了CASE->RAD(快速应...
  • GeneXus发布了一个集成Jenkins的插件,需要注意,如果在GeneXus项目中要使用Jenkins,需要先安装该插件,该插件能够支持SCM和构建集成。   持续交付(CD) CD是一种软件开发策略,以使公司能够尽可能快速...
  • 在 LSI 中制作的一组 GeneXus 扩展
  • GeneXus笔记Excel导入

    2018-07-04 13:52:29
    参数初始化 * : InitParm 确定excel的title 定位数据* : MatchTitleIndex 读取Excel : ReadExcelData 校验数据库数据 : ValidateInDB 表内数值型格式校验 ValidateintegerFormat ...genexus excel导入
  • GeneXus创建第一个项目

    2020-07-06 19:21:26
    版本10.3.103830 新建一个Knowledge Base;File/New/Knowledge Base 相当于一个Student的表,按回车即可插入字段 ...在右边可以设置ID是自增的,Autonumber设置为True ...这里我写了一个字段的类型为ID(上上图箭头...
  • 那么,GeneXus这个低代码平台与其它低代码平台到底有什么不同? 本文试图从7个方面分别进行阐述。 正文 1.技术的起源不同 国内大部分低代码平台技术无外乎起源于这样几个技术: A,源于BPM/OA技术平台。这类...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 228
精华内容 91
关键字:

genexus